Project Structure

  Prisma PHP Project
    ├── prisma                              # Prisma directory
    │   ├── migrations                      # Database migration files
    │   ├── schema.prisma                   # Main Prisma schema file
    │   └── seed.ts                         # Database seeding script
    ├── src                                 # Source code
    │   ├── app                             # Core application code
    │   │   ├── assets                      # Static assets (images, fonts, etc.)
    │   │   ├── css                         # CSS stylesheets
    │   │   ├── js                          # JavaScript files
    │   │   │   ├── index.js                # Main JavaScript file
    │   │   │   ├── json5.min.js            # JSON5 library
    │   │   │   └── [...]                   # Other components **NOTE**: These files are optional
    │   │   ├── favicon                     # Favicon files
    │   │   ├── index.php                   # Main application entry point
    │   │   ├── layout.php                  # Main application layout
    │   │   ├── loading.php                 # Loading file for suspense **NOTE**: This file is optional and is global for all routes
    │   │   ├── not-found.php               # 404 page
    │   │   ├── error.php                   # Error handling script **NOTE**: This file is optional
    │   │   ├── components                  # Reusable components (header, footer, etc.) **NOTE**: This directory is optional
    │   │   │   ├── header.php              # Header component **NOTE**: This file is optional
    │   │   │   ├── footer.php              # Footer component **NOTE**: This file is optional
    │   │   │   └── [...]                   # Other components **NOTE**: These files are optional
    │   │   ├── _private                    # Private route not accesible with AJAX | HTTPS **NOTE**: This directory is optional and is use for internal propose
    │   │   │   ├── custom.php              # Custom route entry point for HTTP / HTTPS requests **NOTE**: This file is optional
    │   │   │   └── [...]                   # Other custom route files **NOTE**: These files are optional
    │   │   ├── (group)                     # Group route directory **NOTE**: This directory is optional and is use for internal propose group route
    │   │   │   ├── customers               # Customers route directory **NOTE**: This directory is optional
    │   │   │   │   ├── index.php           # Customers route entry point for HTTP / HTTPS requests **NOTE**: This file is optional
    │   │   │   │   ├── loading.php         # Customers route entry point for HTTP / HTTPS requests **NOTE**: This file is optional and is specific for the route
    │   │   │   │   ├── route.php           # Customers route entry point for AJAX requests **NOTE**: This file is optional
    │   │   │   │   └── [...]               # Other customers route files (/profile, etc.) **NOTE**: These files are optional
    │   │   │   ├── layout.php              # Group layout file **NOTE**: This file is optional and A layout is UI that is shared between routes.
    │   │   │   └── [...]                   # Other group route files (/products, etc.) **NOTE**: These files are optional
    │   │   ├── users                       # users route directory **NOTE**: This directory is optional
    │   │   │   ├── layout.php              # Users layout file **NOTE**: This file is optional and A layout is UI that is shared between routes.
    │   │   │   ├── index.php               # Users route entry point for HTTP / HTTPS requests **NOTE**: This file is optional
    │   │   │   ├── loading.php             # Loading file for suspense **NOTE**: This file is optional and is specific for the route
    │   │   │   ├── route.php               # Users route entry point for AJAX requests **NOTE**: This file is optional
    │   │   │   └── [...]                   # Other users route files (/profile, etc.) **NOTE**: These files are optional
    │   │   └── [...]                       # Other application files (/(public), /_private, etc.) **NOTE**: users/index.php the index.php file will be included as part of the rout in the layout.php file   
    │   ├── Lib                             # Utility functions and libraries
    │   │   ├── Prisma                      # Prisma PHP classes and models
    │   │   │   ├── Classes                 # Prisma PHP classes for database tables and relationships (generated by Prisma) **NOTE**: Do not modify these files directly
    │   │   │   |   ├── Utility.php         # Utility class for common functions
    │   │   │   │   └── [...]               
    │   │   │   ├── Model                   # Prisma PHP models for database tables and relationships
    │   │   │   │   ├── IModel.php          # Interface for Prisma PHP models
    │   │   │   │   └── [...]               # Other model files
    │   │   │   └── [...]
    │   │   ├── PHPMailer                   # PHPMailer class for sending emails
    │   │   │   ├── Mailer.php              # PHPMailer class
    │   │   │   └── [...]                   # Other PHPMailer files                   
    │   │   ├── Websocket                   # WebSocket server and client files if chose websocket while creating the project
    │   │   │   ├── ConnectionManager.php   # WebSocket server connection manager class
    │   │   │   └── server.php              # WebSocket server entry point **NOTE**: the PORT: 8080 is the default port
    │   │   ├── Auth                        # Authentication classes and functions
    │   │   |   ├── Auth.php                # Authentication class
    │   │   |   ├── AuthConfig.php          # Authentication configuration
    │   │   |   └── [...]                   # Other authentication files
    │   │   ├── Middleware                  # Middleware classes and functions
    │   │   │   ├── AuthMiddleware.php      # Authentication middleware class
    │   │   │   └── [...]                   # Other middleware files
    │   │   ├── Validator.php               # Validation class for form inputs
    │   │   ├── StateManager.php            # State manager class for managing custom session
    │   │   ├── PrismaPHPSettings.php       # Prisma PHP settings class
    │   │   ├── Request.php                 # Request class for managing HTTP requests
    │   │   ├── MainLayout.php              # Main layout class for managing metadata and scripts
    │   │   └── [...]                       # Other utility files (/helpers, /validators, etc.)
    │   └── [...]
    ├── settings                            # Configuration files
    │   ├── bs-config.ts                    # BrowserSync configuration
    │   ├── paths.php                       # Path settings
    │   ├── restart-websocket.bat           # Batch file to restart the WebSocket server **NOTE**: If you chose websocket while creating the project
    │   ├── restart-websocket.ts            # Script to restart the WebSocket server **NOTE**: If you chose websocket while creating the project
    │   └── [...]                           # Other configuration files
    ├── vendor                              # Composer dependencies
    |  └── [...]                            # Other vendor files
    ├── .gitignore                          # Git ignore file
    ├── .dockerignore                       # Docker ignore file
    ├── .htaccess                           # Apache configuration file
    ├── apache.conf                         # Apache configuration file for Docker **NOTE**: If you are using Docker
    ├── bootstrap.php                       # Initialization script
    ├── .env                                # Environment variables
    ├── composer.json                       # Composer configuration
    ├── composer.lock                       # Composer lock file
    ├── docker-compose.yml                  # Docker compose file **NOTE**: If you are using Docker
    ├── Dockerfile                          # Dockerfile **NOTE**: If you are using Docker
    ├── postcss.config.js                   # PostCSS configuration (Tailwind CSS) **NOTE**: If you are using Tailwind CSS
    ├── prisma-php.json                     # Prisma PHP configuration file **NOTE**: Set your PHP ROOT PATH here
    ├── tailwind.config.js                  # Tailwind CSS configuration **NOTE**: If you are using Tailwind CSS
    ├── tsconfig.json                       # TypeScript configuration
    └── [...]