SeatingAssignmentBE is the backend service for the issue tracking and logging system made for the seats assigned in a laboratory. The primary stack used for this system is React for the front-end, Laravel for the back-end, and MySQL for the database.
- Track, validated, and manage logged issues for seats in a laboratory.
- View issues by status, seats, and laboratories.
- Track progress on validated issues.
- Paper trail system for issue changes.
- Role-based authorization on different endpoints.
- Authentication using Sanctum.
To be able to setup this project, you would need to install the following beforehand.
- Xampp for MySQL database, don't forget to add
php.exe
to your environment variables. - Composer for managing PHP dependency and running Laravel.
- (Optional) Sqlite and Sqlite Browser as an alternative for MySQL database, as this is a lightweight database. Sqlite Browser allows you to view the database over a GUI.
- Make sure you have the requirements installed, and don't forget to add
php
to your environment variables. - Clone this project to your local machine.
- Open a terminal inside the cloned directory.
- Run
composer install
to install the composer dependencies. - Run
cp .env.example .env
to create the environment variables for the project. - Run
php artisan key:generate
to generate a unique application key. - Setup database.
- For MySQL: Open Xampp, and run Apache and MySQL services.
- For Sqlite: Run
touch database/database.sqlite
to create database file.
- Run
php artisan migrate
to automatically populate database. - If prompted if you want to create a database, type Y and press enter.
- Run
php artisan db:seed
to populate the database with mock data. - Run
php artisan serve
to run the backend service. - To be able to use the endpoints on this backend service, use the
Postman Collections
that is referenced in the resources. - You can login on authenticated endpoints with the following accounts:
# Student
Email: student@example.com
Password: password
# Professor
Email: professor@example.com
Password: password
# Technician
Email: technician@example.com
Password: password
Unfortunately, we are not accepting pull requests, since this is a one-time project. However, feel free to fork this project, and improve on it!
- FrontEnd - Private Front-end
- Postman Collection
- Database ERD