A PHP app with Docker, PostgreSQL, and MongoDB setup, using `.env` for config, composer for dependencies, and scripts for automated DB reset and seeding.
Table of Contents
Here's a short overall description for the entire setup:
This project sets up a PHP application with Docker, PostgreSQL, and MongoDB integration. It includes structured steps for configuring environment variables, updating dependencies, designing the database schema, and automating table resets. Tools like phpdotenv are used for secure config management, and GUI database managers help verify connections. Automation scripts ensure easy resets and seeders prepare data for testing or development.
.
- Authentication & Authorization
- CRUD Operations for Invetory System
- Always use
AD-in the front of the Title of the Project for the Subject followed by your custom naming. - Do not rename
.phpfiles if they are pages; always useindex.phpas the filename. - Add
.componentto the.phpfiles if they are components code; example:footer.component.php. - Add
.utilto the.phpfiles if they are utility codes; example:account.util.php. - Place Files in their respective folders.
- Different file naming Cases
Naming Case Type of code Example Pascal Utility Accoun.util.php Camel Components and Pages index.php or footer.component.php - Renaming of Pages folder names are a must, and relates to what it is doing or data it holding.
- Use proper label in your github commits:
feat,fix,refactoranddocs - File Structure to follow below.
AD-ProjectName
└─ assets
| └─ css
| | └─ name.css
| └─ img
| | └─ name.jpeg/.jpg/.webp/.png
| └─ js
| └─ name.js
└─ components
| └─ name.component.php
| └─ templates
| └─ name.component.php
└─ handlers
| └─ name.handler.php
└─ layout
| └─ name.layout.php
└─ pages
| └─ pageName
| └─ assets
| | └─ css
| | | └─ name.css
| | └─ img
| | | └─ name.jpeg/.jpg/.webp/.png
| | └─ js
| | └─ name.js
| └─ index.php
└─ staticData
| └─ name.staticdata.php
└─ utils
| └─ name.utils.php
└─ vendor
└─ .gitignore
└─ bootstrap.php
└─ composer.json
└─ composer.lock
└─ index.php
└─ readme.md
└─ router.php
The following should be renamed: name.css, name.js, name.jpeg/.jpg/.webp/.png, name.component.php(but not the part of the
component.php), Name.utils.php(but not the part of theutils.php)
