Documentation

Backend Folder Structure Overview #

The backend of Property Pro is built using Laravel, a PHP-based MVC framework renowned for its robust structure and scalability. This project adheres to Laravel’s conventional architecture, ensuring maintainability and ease of development.

Detailed Folder Structure Description #

  1. app Folder
    • Contains the core logic of the application, organized into various subfolders:
      • Controllers: Manage the application flow and handle requests from the client.
      • Middleware: Filter HTTP requests entering your application, handling authentication, and more.
      • Models: Represent the database tables and interact with the database using Eloquent ORM.
      • Notifications: Handle system notifications sent to users.
      • Traits: Reusable pieces of code shared across multiple classes.
      • Services: Encapsulate business logic and other reusable code.
      • Utility Classes: Assist with common functions used throughout the application.
  2. config Folder
    • Contains all configuration files for the application, including environment-specific settings.
    • Includes configurations for third-party services and packages that have been published into the project.
  3. database Folder
    • Stores the migration files used to create and modify database tables.
    • Contains seeder files that are used to populate the database with initial or test data.
  4. public Folder
    • Holds all static assets, such as images, CSS, and JavaScript files.
    • Uploaded files from the application are stored here.
    • Contains the built versions of the frontend React and Typescript code.
  5. resources Folder
    • This folder includes:
      • Blade View Files: HTML templates used for rendering dynamic content on the server-side.
      • Blade Components: Reusable pieces of UI used across different parts of the Admin and Seller Panels.
  6. routes Folder
    • Contains route declaration files:
      • API Routes: Define endpoints for interacting with the backend.
      • Web Routes: Handle standard web page requests.
      • Admin Routes: Manage administrative functionalities and access.
      • Seller Routes: Control seller-specific operations.
    • These routes are registered and managed through the RouteServiceProvider.php file.
  7. storage Folder
    • Primarily stores cache files generated by the application.
    • Includes logs that track errors, events, and other application activities.
  8. .env File
    • Stores environment variables for the application, including sensitive configurations such as database credentials, third-party service keys, and other environment-specific settings.

#