Skip to content

Feat: Improving backend file structure #179

Description

@kunal697

What would you like to see?

Proposed Backend Folder Structure Improvement

Current Structure:

server/src/
├── routes/        # API routes
├── config/        # Server configuration
├── utils/         # Server utilities
└── validators/    # Request validation

Proposed Structure:

server/
└── src/
    ├── handlers/
    │   ├── <moduleName>/
    │   │   ├── <moduleName>Controller.js   # Handles route logic, calls services
    │   │   └── <moduleName>Services.js     # Business logic and functions
    │
    ├── routes/
    │   ├── <moduleName>/
    │   │   └── route.js                    # Maps routes to controllers

Example – Auth Module

server/
└── src/
    ├── handlers/
    │   └── auth/
    │       ├── authController.js   # Connects routes with service functions
    │       └── authServices.js     # Contains authentication logic
    │
    ├── routes/
    │   └── auth/
    │       └── route.js            # Defines auth routes and maps them to controller

Why is this feature useful?

Benefits:

  • Clear separation of concerns (Routes → Controller → Service).
  • Easier to scale and maintain.
  • Consistent module-based structure.

Have you considered any alternatives?

No response

Additional context or visuals

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions