Note: This repository contains a Proof of Concept (PoC) / prototype for UniScheduL. It serves as an initial demonstration of the automated scheduling logic and system concept. The production platform is being built separately.
UniScheduL is an automated university course timetable scheduling system designed to schedule lectures, assign time slots and rooms, and resolve scheduling conflicts for academic institutions.
- Automated timetable generation with conflict resolution algorithms
- Management of institutions, users, lecturers, rooms, and courses
- Export options for timetables in PDF and DOCX formats
- Role-based access control (Super Admin, Admin, Staff)
- Web interface and optional Electron desktop application wrapper
unischedule_django/- Django REST Framework backend API and scheduling algorithm PoCfrontend/- React, Vite, and Tailwind CSS web application prototypeelectron/- Electron desktop application wrapper prototype
- Python 3.10 or higher
- Node.js 18 or higher and npm
Navigate to the unischedule_django directory:
cd unischedule_djangoCreate and activate a virtual environment:
python -m venv venvActivate the environment:
- On Windows:
venv\Scripts\activate - On Linux/macOS:
source venv/bin/activate
Install dependencies:
pip install -r requirements.txtRun database migrations:
python manage.py migrateStart the backend server:
python manage.py runserverThe API server will run at http://127.0.0.1:8000/.
Navigate to the frontend directory:
cd frontendInstall dependencies:
npm installStart the web application:
npm run devThe web application will run at http://localhost:5173/.
Navigate to the electron directory:
cd electronInstall dependencies:
npm installStart the desktop application:
npm run dev- Eden Iyanda – Lead Developer (GitHub)
- Eyitayo Ezekiel – Full-Stack Developer (GitHub)
- Samuel EnochOghene, PhD – Academic & Strategy Lead
- Ifenna Gerard Nwokeduko – Algorithm Optimization Lead
- Williams Osiagor – Growth Lead
This project is licensed under the MIT License. See the LICENSE file for details.