This repository contains the codebase for the ACSC476 assignment. The project is structured as a PHP web application with Docker support for local development and deployment.
app/- Main application code, including controllers, models, services, middleware, and routes.public/- Publicly accessible files, including the entry point (index.php), assets (CSS, JS, images).vendor/- Core framework code, facades, globals, interfaces, and base classes.Docker/- Docker configuration files for Nginx and PHP.docker-compose.yml- Docker Compose configuration for running the application stack.package.json,pnpm-lock.yaml- Node.js dependencies for frontend assets (if any).structure.sql- Database schema definition.
- Docker & Docker Compose
- (Optional) Node.js and pnpm for frontend asset management
- Clone the repository:
git clone https://github.com/Deathwalker9959/acsc476-assignment.git cd acsc476-assignment - Start the application using Docker Compose:
docker-compose up --build
- Access the application:
- The app should be available at http://localhost (see
Docker/nginx/conf.d/site.conffor details).
- The app should be available at http://localhost (see
- The database schema is defined in
structure.sql. - Ensure the database service is running via Docker Compose.
- CSS and JS files are located in
public/assets/. - If you need to build or manage frontend assets, use pnpm or npm:
pnpm install pnpm run build
- Controllers: Handle HTTP requests and responses.
- Models: Represent database entities.
- Services: Business logic and data manipulation.
- Middleware: Request filtering and authentication.
- Routes: Define API and web routes.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
This project is for educational purposes.