Product · Algorithm
Jadwalin
Faculty-scale course scheduling with conflict rules and a greedy auto-generator, fed by Excel exports instead of a locked API.
- Role
- Full-stack Developer
- Timeline
- Apr 2022 — May 2022
- Context
- IAIN Sultan Amai Gorontalo
- Stack
- Laravel
- Greedy algorithm
- Excel import
Problem
The Faculty of Islamic Economics and Business at IAIN Sultan Amai Gorontalo needed to manage course schedules faculty-wide without clashes.
Context
Course data lived in the Academic Information System (SIAK), but API access was not permitted. What staff did have were Excel exports.
Solution
- Excel-based import, so staff keep the workflow they know and integration doesn't depend on SIAK access.
- Four conflict rules, implemented as Laravel validation rules so new ones are easy to add:
- Department — a major's schedule may not collide.
- Lecturer — a lecturer can't teach two classes at once.
- Room — a room can't be double-booked.
- Credits (SKS) — the course's credits must match the time slot.
- An automatic schedule generator using a greedy algorithm.
Architecture
Layer detail
Excel exports from SIAK
Course data and sample schedules, since direct API access wasn't allowed.
Impact
- conflict rules enforced
- 4conflict rules enforced
- build time
- 2 mobuild time
Lessons learned
When the ideal integration isn't available, meet users where their data already is. Excel import was less elegant than an API — and far more useful.