Technical requirements
This chapter uses an Online Library Management System to expound on building a microservice application that incorporates FastAPI, Django, and Flask sub-applications with Tornado as the facade application and the server. The sub-applications are mounted using different URL prefixes. Here are the services offered by each of the mounted applications:
- Django sub-module – managing student book borrowers
- Flask sub-module – managing faculty book browsers
- FastAPI sub-module – managing feedback and complaints from borrowers
- Flask main application – the core transactions
- Tornado application – the facade application
Figure 12.1 shows the flow of transactions of these mounted applications.
Figure 12.1 – Combined Django, Flask, FastAPI, and Tornado applications
The sub-modules use SQLAlchemy as the ORM, while the Flask main application uses the standard Peewee ORM. All...