Skip to content

Latest commit

 

History

212 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

UniScheduL

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.

Features

  • 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

Project Structure

  • unischedule_django/ - Django REST Framework backend API and scheduling algorithm PoC
  • frontend/ - React, Vite, and Tailwind CSS web application prototype
  • electron/ - Electron desktop application wrapper prototype

Prerequisites

  • Python 3.10 or higher
  • Node.js 18 or higher and npm

Setup and Running

1. Backend (Django)

Navigate to the unischedule_django directory:

cd unischedule_django

Create and activate a virtual environment:

python -m venv venv

Activate the environment:

  • On Windows: venv\Scripts\activate
  • On Linux/macOS: source venv/bin/activate

Install dependencies:

pip install -r requirements.txt

Run database migrations:

python manage.py migrate

Start the backend server:

python manage.py runserver

The API server will run at http://127.0.0.1:8000/.

2. Frontend (React + Vite)

Navigate to the frontend directory:

cd frontend

Install dependencies:

npm install

Start the web application:

npm run dev

The web application will run at http://localhost:5173/.

3. Desktop Application (Electron)

Navigate to the electron directory:

cd electron

Install dependencies:

npm install

Start the desktop application:

npm run dev

Authors & Builders

  • 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

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Smart academic scheduling engine for universities. It resolves class conflicts, auto-generates timetables, and exports PDF/DOCX-ready results.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages