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 #
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.
- Contains the core logic of the application, organized into various subfolders:
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.
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.
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.
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.
- This folder includes:
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.
- Contains route declaration files:
storage
Folder- Primarily stores cache files generated by the application.
- Includes logs that track errors, events, and other application activities.
.env
File- Stores environment variables for the application, including sensitive configurations such as database credentials, third-party service keys, and other environment-specific settings.