Structuring and organizing huge projects
In FastAPI, big projects are organized and structured by adding packages and modules without destroying the setup, configuration, and purpose. The project should always be flexible and scalable in case of additional features and requirements. One component must correspond to one package, with several modules equivalent to a blueprint in a Flask framework.
In this prototypical intelligent tourist system, the application has several modules such as the login, administration, visit, destination, and feedback-related functionalities. The two most crucial are the visit module, which manages all the travel bookings of the users, and the feedback module, which enables clients to post their feedback regarding their experiences at every destination. These modules should be separated from the rest since they provide the core transactions. Figure 2.1 shows how to group implementations and separate a module from the rest using packages: