Welcome to the Timetable Scheduling App! This project is a full-stack web application that allows users to generate and manage schedules using a genetic algorithm for optimization. Built with a modern tech stack, the app provides a user-friendly interface for a seamless experience.
- Genetic Algorithm: Efficiently generates optimized timetables.
- React: A dynamic and responsive front-end.
- Node.js & Express: A robust backend to handle requests and manage data.
- SQL & Sequelize ORM: A relational database with Sequelize for efficient data handling.
- React Toastify: User-friendly notifications for a better UX.
- Responsive Design: Works on all device sizes.
- Error Handling: Robust error management for a smoother user experience.
-
Frontend:
- React
- Tailwind CSS
- React Toastify
- formik
- yup
- axios
-
Backend:
- Node.js
- Express.js
- cors
- express-async-handler
-
Database:
- SQL
- Sequelize ORM
-
Algorithm:
- Genetic Algorithm for scheduling
- Node.js
- npm
- SQL Database
-
Clone the repository:
git clone https://github.com/Saza-dev/Time-Table-Scheduling-App.git
-
Install dependencies to frontend:
cd timetable-scheduling-app cd frontend npm install
-
Install dependencies to backend:
cd timetable-scheduling-app cd backend npm install
-
Set up the database:
- Create a new SQL database.
- Update the .env file with your database credentials in backend folder.
DB_NAME=yourdbname
DB_USER=yourdbuser
DB_PASS=yourdbpassword
DB_HOST=yourdbhost
PORT=yourPORTnumber- Start the server:
npm start