easeCHAOS is a modern, user-friendly timetable viewer designed specifically for UMaT students. Born out of the frustration of dealing with complex Excel spreadsheets and hard-to-read class schedules, this project aims to make viewing your class schedule as simple as possible.
- Simplified View: No more squinting at Excel sheets or searching through merged cells
- Class-Specific: View only your class's schedule, filtered and clean
- Modern Interface: Intuitive weekly and daily views
- Exam Schedule Support: Browse the exam period as a month view, agenda, or short-term windows
- Mobile Friendly: Access your schedule on any device
- Download Options: Download schedules as PDF, image, or calendar (
.ics) files.
The application currently features:
- ✅ Weekly view with all classes
- ✅ Daily detailed view
- ✅ Exam schedule views for
All Exams,Today,This Week, andNext Week - ✅ Exam month calendar and agenda view
- ✅ Responsive design with Light and Dark Theme
- ✅ Lecture and exam export downloads (PDF, Image, and
.icsfor exam agenda) - ✅ Accessible as Progressive Web App (PWA). You can basically save for offline use once your schedule is loaded up
- Node.js 18+
- Python 3.9+
- Redis
- Docker (Optional, although preferred for local developement)
- React.js
- TailwindCSS
- TypeScript
- Vite
- FastAPI (Python)
- Redis
- Docker
For detailed documentation, see the docs/ folder:
- Data Extraction Documentation - Excel format requirements
- Clone the repository
- Ensure you have
makeinstalled (available on most linux flavored systems) - Copy and rename
.env.sampleto.env - Ensure you have a Redis instance available and set the connection values in
.env - Run
make local
- Clone the repository
- Copy and rename
.env.sampleto.env - Run
make upordocker compose -f docker-compose.dev.yml up - Open the app at
http://localhost:5173 - API healthcheck is available at
http://localhost:8000/api/v1/healthcheck
To stop the Docker stack:
make downNB: This project is still under development. You might encounter bugs with the processed data. However, issues stem from the drafts, and has nothing to do with the extractor in most cases. Refer to the IT department and respective class reps to resolve clashes and unfamiliar conventions.
- Lecture and exam accuracy still depends on the source spreadsheets.
- If a class appears in the lecture timetable but not in the exam timetable, check the exam workbook first.
- Exam rows may be repeated once per class group in the source file. The frontend groups those rows into a single paper for display.
All Exams→Agendasupports export asPDF,PNG, and.icsfor importing exam papers into calendar apps.
- Mr. Edem Y. Broni
- Mr. Abdul-Aziz
- @Kelvin Amoaba






