Back to Projects
FMFI Schedule Manager
Released
Released Dec 2024
C++17CMakeGoogleTestCLIData Structures
Summary
A CLI that keeps your timetable conflict-free by detecting overlapping classes before you sign up for them.
The Problem
Choosing courses at FMFI usually involves a messy spreadsheet and a lot of guessing. I wanted to build something that prevents you from signing up for two classes at the same time.
The Solution
Built a C++17 CLI tool that checks for time conflicts before adding courses. Used CMake for the build system and GoogleTest for unit testing.
Key features:
- Collision detection, scans your schedule for overlaps before adding a course
- Role-based access, supports Admin and User roles
- File I/O, import and export courses via text files
Key takeaways:
- Managed memory safely using RAII principles
- Structured code with separate manager classes to keep business logic clean
- Wrote unit tests for date validation and edge cases like events spanning midnight