The project aims to create an exam schedule using Constraint Satisfaction Problem (CSP) solutions that accommodates the needs of all stakeholders. This schedule will address constraints such as:
- Allowing invigilators teaching a subject to be exempt from waiting for the exam room except the requested.
- Ensuring that each invigilator spends time in the exam room at least once a day as soon as possible.
- Guaranteeing that each student can only take one exam per day.
By using CSP solutions, this project aims to efficiently and effectively develop a timetable that meets the requirements of all parties involved in the examination process.
-
Frontend:
- React: A JavaScript library for building user interfaces, allowing for the creation of reusable UI components.
- Tailwind CSS: A utility-first CSS framework for rapidly building custom designs without leaving your HTML.
-
Backend:
- Laravel: A PHP framework for web artisans, providing an elegant syntax and powerful tools for building robust applications.
- Inertia.js: A framework that allows you to create modern single-page React applications using classic server-side routing and controllers.
- Docker: A platform for developing, shipping, and running applications in lightweight, portable containers, ensuring consistency across development, testing, and production environments.
- Figma: A web-based design tool used for UI/UX design and prototyping, enabling collaboration among designers and stakeholders.
- MySQL: An open-source relational database management system used for storing and managing application data.
- phpMyAdmin: A free and open-source administration tool for MySQL, providing a web interface to manage MySQL databases.
- Git: A distributed version control system used for tracking changes in source code during software development.
- GitHub: A web-based platform for version control and collaboration, allowing multiple developers to work on projects simultaneously.
- Visual Studio Code (VS Code): A source-code editor made by Microsoft for Windows, Linux, and macOS, featuring support for debugging, syntax highlighting, intelligent code completion, snippets, and code refactoring.
-
Clone the repository:
git clone https://github.com/mryeminaung/special-project-3001.git cd special-project-3001
-
Install dependencies:
composer install npm install
-
Set up environment variables:
cp .env.example .env php artisan key:generate
-
Configure your database settings in the
.env
file:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_database_name DB_USERNAME=your_database_username DB_PASSWORD=your_database_password
-
Run migrations:
php artisan migrate
-
Seeding database(optional)
php artisan db:seed
-
Start the development server:
composer run dev
- Access the application at
http://localhost:8000
. - Follow the instructions to create and manage exam schedules.
Contributions are welcome! Please fork the repository and create a pull request with your changes.