A comprehensive system for managing and tracking school violations, built with laravel framework.
Before you begin, ensure you have the following installed on your system:
- PHP >= 8.1
- Composer (PHP dependency manager)
- MySQL >= 5.7 or MariaDB >= 10.3
- Node.js >= 16.x and npm
- Git for version control
-
Fork the repository by clicking the Fork button at the top right of this page:
-
Clone your forked repository to your local machine:
git clone https://github.com/Xenrui/school-violations-system.git
cd school-violations-systemInstall both PHP and JavaScript dependencies:
composer install
npm install
npm run build- Copy the example environment file:
copy .env.example .env- Generate application key:
php artisan key:generate- Configure your database connection in the
.envfile:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=school_violations_system
DB_USERNAME=your_database_username
DB_PASSWORD=your_database_password- Create the database in MySQL:
school_violations_system- Run migrations to create the necessary tables:
php artisan migrate- Seed the database with sample data:
php artisan db:seedLaunch the application using Laravel's built-in development server:
php artisan serveAfter seeding the database, you can log in with these default credentials:
- Password:
secret
- Student violation tracking and management
- Multiple violation categories and severity levels
- Student and administrator roles with different permissions
- Violation history and reporting
- Email notifications for serious violations
- NEVER commit
.envfiles to Git.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes following our commit convention (see below)
- Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
We follow the Conventional Commits specification for clear and structured commit messages.
<type>(<scope>): <subject>
<body>
<footer>
- feat: A new feature
feat(auth): add user login functionalityfeat(cart): implement add to cart feature
- fix: A bug fix
fix(checkout): resolve payment processing errorfix(products): correct price display formatting
- docs: Documentation only changes
docs(readme): update installation instructionsdocs(api): add endpoint documentation
- style: Changes that don't affect code meaning (formatting, missing semi-colons, etc.)
style(client): format code with prettierstyle(components): fix indentation
- refactor: Code change that neither fixes a bug nor adds a feature
refactor(api): simplify product service logicrefactor(hooks): extract custom hook for cart
- perf: Performance improvements
perf(products): optimize product list renderingperf(api): add database query caching
- test: Adding or correcting tests
test(auth): add unit tests for logintest(cart): add integration tests
- build: Changes to build system or dependencies
build(deps): upgrade react to v19build(client): update vite config
- ci: Changes to CI configuration files and scripts
ci(github): add deployment workflowci(vercel): update build settings
- chore: Other changes that don't modify src or test files
chore(git): update .gitignorechore(deps): update dependencies
# Simple feature addition
git commit -m "feat(products): add product search functionality"
# Bug fix with details
git commit -m "fix(cart): prevent duplicate items in cart
# Documentation update
git commit -m "docs(readme): add git commit convention section"- Use imperative mood in the subject line (e.g., "add" not "added" or "adds")
- Don't capitalize the first letter of the subject
- No period at the end of the subject line
- Limit subject line to 50-72 characters
This project is licensed under the MIT License. See the LICENSE file for details.
Built with Laravel. Final project for Web Development