Scheduling Web App
At SAE we have national zoom meetings for all units once a fortnight, this is to ensure consistency with delivery and share resources. The problem is that people on any campus could be teaching any combination of units and there's only a narrow band of time which is suitable for all campuses across the country for these meetings. This makes scheduling them a nightmare and led to unit coordinators just picking times that suited them personally and meetings having consistently low attendance. To resolve this, I made a tool to schedule all of the games department units.
The tool uses a genetic algorithm to find the schedule with the fewest clashes. You input every unit and the teachers on that unit, then the algorithm creates 1000s of possible schedules and judges them based on if teachers appear multiple times in a time slot (unit coordinators cost double points, as they need to run the meetings). This was incredibly successful and we use it every trimester now. It's less helpful during daylight savings as we have a smaller time frame to work with but through the rest of the year it works well.
I initially made the tool in Unity, but it was only able to be used from inside the editor and so it was fine if I was the only one doing the scheduling, but if we were going to give this to other people (especially other departments) it needed to be more user friendly. So the tool was remade in Typescript, as I didn't have a lot of recent web experience and it was suggested to me as a practical language for this, and then I used bootstrap to make it a bit more presentable. This has served its purpose for a while but it still has some niggling UX issues and isn't hosted anywhere, it needs to be downloaded as a HTML file.
With my recent foray into Flutter, and Flutter Web specifically, I'm looking to remake it once more, potentially even integrating Firebase for a maintainable database. I've found with another small web app which I made for a class activity that I can not only easily host these web apps with Firebase but also embed them in Google Sites, which we already use extensively at SAE.
Comments