Impact Class Scheduler
Impact Bay Area is a self-defense course primarily geared towards women. Classes are typically 1-3 days and involve multiple segments per day. Each segment has an allocated amount of time and a description of what is done (e.g. learning basic moves, practicing certain defense scenarios, etc.).
Instructors were primarily using Google Docs to plan their classes. This was not ideal as there was no easy way to propagate time changes across segments. For instance, if segment A was 20 minutes and started at 10:00am, then segment B has to start at 10:20am. But if segment A was shortened 15 minutes, the start time of segment B and all future segments had to be adjusted. This resulted in a lot of tedious manual changes. Additionally, segments were often shared among different class plans, which required a lot of copy paste between them.
The application I wrote solves these problem by creating first-class "Segment" objects that have associated times and descriptions. When the time of one segment is changed, the others are automatically adjusted. Segments can also be shared across class plans. Additionally, there is the capability to create templates that individual instructors can then customize to their needs.
Impact Class Scheduler is written in AngularJS and deployed using Google App Engine.