Skip to content

Major Refactoring Project of the Backend to a Modern Framework Like Laravel(PHP) or Springboot(Java) #730

Open
@ThomasAFink

Description

@ThomasAFink

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:

  1. zmsdb: Houses the database queries and migrations.
  2. zmsapi: Includes backend controllers.
  3. zmsentities: Contains backend object models.
  4. zmsclient: Use this library to fetch data from the eappointment zmsapi via HTTP.
  5. 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, and zmsslim 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

  1. Improved Structure: Simplifies navigation and organization of the backend.
  2. Enhanced Maintainability: Reduces redundancy and simplifies future updates.
  3. Scalability: Enables the backend to handle increased loads and requirements more effectively.
  4. 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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestphpPull requests that update Php code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions