DOCBatch 2
DOCBatch 2 was my first go at reimagining the Dine On Campus reservation experience two days after arriving to college for freshman year in Fall 2020.
DOCBatch 2 focused more heavily on the actual logistics of making a better reservation frontend, and less so on the design. (thus, it looks like it came out of 2009).
DOCBatch 2 was the successor to DOCBatch 1, although it was more of a functional upgrade and represented when DOCBatch moved to its own domain (docbatch.app), whereas DOCBatch 3 was a total rewrite of DOCBatch.
DOCBatch 2 was worked on until November 2020, when development stopped permanently to focus on DOCBatch 3.
—
Lines of code: ~3,000
Languages: HTML/JavaScript (frontend), Python (backend)
Frameworks: Bootstrap 4, Flask, DynamoDB
Timeframe: August 2020 - November 2020
—
You can view the source code for this project here.
DOCBatch 2 uses a “stepper” system, but in a way where it’s one step at a time, and you cannot see your total progress. This is the main screen where you select the location where you want to eat. But, it definitely looked much cleaner than the Dine On Campus app.
The Reserve for Now functionality was added sometime around DOCBatch 1.2/1.3.
When DOCBatch 2 was actually live, there was no Go back to DOCBatch 3 button.
Step 2 is definitely packed full of buttons and settings for reservations. Let’s go through it bit by bit.
At the top, there’s 5 buttons to quickly autofill the date and time going out up to 4 hours.
The date and time fields are below that, with buttons to auto-populate the date field with today/tomorrow’s date, and then buttons to increment/decrement the time by 30 minutes.
Below that is the batch part of DOCBatch. DOCBatch 2 added the ability to select days on which a reservation should reoccur.
The buttons below then allow you to either submit the current reservation to the queue before confirming you want to make the reservations, or submit the current reservation to the queue then bring you back to Step 1.
And the confirm screen where you can delete reservations, or go back to make more.
The retry reservations option is DOCBatch 2 exclusive, as the Dine On Campus API suddenly didn’t allow overbooking (previously this was a client-side only check and not server-side) and reservations would regularly fail to make at peak hours. This option would then keep trying at 30-minute intervals until a reservation could be made.
DOCBatch 3 doesn’t include this, as this issue has fallen out of relevancy due to mobile ordering = less reservations being made.
If you did go back to Step 1 while there were reservations in the queue, another button would show up so you could skip to Step 3 without making another reservation.
There was a brief time where this wasn’t a thing, and you had to make a reservation to reach Step 3 with reservations in the queue.
Step 4 is where the reservations are made. The verbosity showing which reservation is being made was added in the later days of DOCBatch 2, and partly due to the Retry Reservations option.
The UI for when a reservation was being retried would show what time a retry was being attempted for, and then pause for a bit when a retry was successful to show the user the new reservation time.
And the final screen when all the reservations were made.
DOCBatch 1 could generate a .ics file so you could add your dining reservations to your device’s calendar. Unfortunately there were some bugs with this, and basically no one used the feature, so it was scrapped in DOCBatch 2.