Added schema architecture for Smart Clinic
This commit is contained in:
24
SmartClinicManagementSystem/schema-architecture.md
Normal file
24
SmartClinicManagementSystem/schema-architecture.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Architecture summary
|
||||
|
||||
This Spring Boot application uses both MVC and REST controllers.
|
||||
|
||||
Thymeleaf templates are used for the Admin and Doctor dashboards, while REST APIs serve all other modules.
|
||||
|
||||
The application interacts with two databases—MySQL (for patient, doctor, appointment, and admin data) and MongoDB (for prescriptions).
|
||||
|
||||
All controllers route requests through a common service layer, which in turn delegates to the appropriate repositories. MySQL uses JPA entities while MongoDB uses document models.
|
||||
|
||||
# Numbered flow of data and control
|
||||
|
||||
1. User accesses AdminDashboard or Appointment pages.
|
||||
2. The action is routed to the appropriate Thymeleaf or REST controller.
|
||||
3. The controller calls the service layer to fetch data to display or execute a user initiated operation
|
||||
4. The service layer deduces what data is required for the business logic and either accesses the MySQL repositories or
|
||||
MongoDB repositories as needed.
|
||||
5. Both the Mysql and MongDB repositories translate the data JPA queries to database queries (SQL for
|
||||
MySQL, and NOSQL for MongoDB) and executes them as database transactions on the actual databases using the database
|
||||
drivers
|
||||
6. The database queries are executed on the entity models defined for the databases and the data is retrieved from
|
||||
the database
|
||||
7. Finally, the data traverses back up via each layer up to either the Thymleaf template where it is rendered as
|
||||
HTML or to the REST Controller where the data is served as JSON.
|
||||
Reference in New Issue
Block a user