Open
Description
Issue Description
The current backend structure is fragmented, making it difficult to navigate, maintain, and scale. Specifically, the backend is divided into the following components:
- zmsdb: Houses the database queries and migrations.
- zmsapi: Includes backend controllers.
- zmsentities: Contains backend object models.
- zmsclient: Use this library to fetch data from the eappointment zmsapi via HTTP.
- zmsslim: This module is intended to help with the creation of a Slim based framework application.
This separation introduces unnecessary complexity and detracts from the overall appeal of the system. I propose consolidating these components into a unified backend module using a robust framework such as Laravel or Spring Boot. This restructuring would streamline the architecture, enhance maintainability, and increase scalability.
Proposed Solution
- Merge the functionalities of
zmsdb
,zmsapi
,zmsentities
,zmsclient
, andzmsslim
into a single backend module. - Rebuild the unified module using Laravel or Spring Boot to leverage their strengths in modular design, scalability, and ease of development.
Key Benefits
- Improved Structure: Simplifies navigation and organization of the backend.
- Enhanced Maintainability: Reduces redundancy and simplifies future updates.
- Scalability: Enables the backend to handle increased loads and requirements more effectively.
- Broader Appeal: Improves adoption potential among other cities and communes by showcasing a modern, efficient, and cohesive architecture.
I believe this overhaul will not only address existing challenges but also make the system more attractive to a wider audience. Feedback and suggestions are welcome!