Screen Shot 2021-02-13 at 7.24.21 PM.png

DOCBatch 3

DOCBatch gets its start 2 days after starting my freshman year of college in Fall 2020. Due to COVID, the Dine On Campus reservation system was put in place to get food, but the app to make reservations was slow, clunky, and unintuitive.

I made DOCBatch v1/v2 to solve this problem with two goals. Make it easy to get food now, and make it easy to get food in the future (with batch reservations). The only flaw? The UI looked like it came out of 2009.

DOCBatch 3 reskins DOCBatch 2, leaving all the advanced features intact, while using a beautiful and simple material design.

DOCBatch 3 isn’t official - 99.9% of my college still uses the Dine On Campus app. But the 0.1% who use DOCBatch really enjoy the experience.

DOCBatch is now offline for summer - pending a return in Fall 2021 depending on if dining reservations are required.

Lines of code: ~2,000

Languages: HTML/JavaScript (Frontend), Python (backend)

Frameworks: MDBootstrap, Flask with Jinja2, DynamoDB

Timeframe: December 2020 - May 2021

You can visit this project at docbatch.app/app. This will remain online until September 2022.

 Here’s DOCBatch 3! DOCBatch 3 is built around a vertical stepper with 5 steps going through the whole process, so it’s easy to see your progress when making a reservation.  The first step is what you first see when loading DOCBatch. It’s where you s

Here’s DOCBatch 3! DOCBatch 3 is built around a vertical stepper with 5 steps going through the whole process, so it’s easy to see your progress when making a reservation.

The first step is what you first see when loading DOCBatch. It’s where you select where you want to eat. Hours of operation are also visible for every location, so you know what’s open or not.

Two extra buttons are also visible. Reserve for Now will make a reservation for now at the location selected (a hallmark feature of DOCBatch).

Eat Now takes this a step further, using your current location to find the nearest open dining location, then does Reserve for Now on that location.

 As we go through the process, the previous step is indicated as complete, and a label underneath the step is updated to show the option we selected.  Step 2 is where you select the date for the reservation. Shortcuts to auto-filling Today and Tomorr

As we go through the process, the previous step is indicated as complete, and a label underneath the step is updated to show the option we selected.

Step 2 is where you select the date for the reservation. Shortcuts to auto-filling Today and Tomorrow are provided, and a full date picker is also provided.

 Step 3 is where you enter the time of your reservation. Similar to Step 2, quick shortcuts are provided to putting in the current time (rounded to the nearest half-hour block), and then buttons to subtract and add 30 minutes. A full time picker is a

Step 3 is where you enter the time of your reservation. Similar to Step 2, quick shortcuts are provided to putting in the current time (rounded to the nearest half-hour block), and then buttons to subtract and add 30 minutes. A full time picker is also provided.

At this point, you can either decide to just make 1 reservation and skip to Step 5 to confirm, or make reoccurring reservations and go to Step 4

(you don’t have to make reoccurring reservations on Step 4 and can leave it at 1 reservation, but this shortcut is provided to reduce the number of steps in true DOCBatch fashion.)

 Step 4 is the real meat and potatoes of DOCBatch, the batch part. You can choose to have your reservation reoccur up to 20 times retaining the same time and dining location.   You can also select which days of the week to repeat it on, convenient, f

Step 4 is the real meat and potatoes of DOCBatch, the batch part. You can choose to have your reservation reoccur up to 20 times retaining the same time and dining location.

You can also select which days of the week to repeat it on, convenient, for instance, when you want to let a reservation reoccur on weekends or weekdays only.

 At this point, these 5 reoccuring reservations we made are added to the “queue”. This is where you can decide to delete some (or all) of the pending reservations, or make more reservations to add to the queue.

At this point, these 5 reoccuring reservations we made are added to the “queue”. This is where you can decide to delete some (or all) of the pending reservations, or make more reservations to add to the queue.

 At this point, all the reservations in the queue are made. DOCBatch relies on Dine On Campus sending emails for every reservation made, so at this point, you would exit DOCBatch and enter your email app to show proof of your reservation.

At this point, all the reservations in the queue are made. DOCBatch relies on Dine On Campus sending emails for every reservation made, so at this point, you would exit DOCBatch and enter your email app to show proof of your reservation.

 Dine On Campus has a fatal flaw in that your old dining reservations are never deleted or wiped from your account. To fix this, I added functionality so DOCBatch 3 can do this automatically.  By default, DOCBatch 3 deletes reservations older than 2

Dine On Campus has a fatal flaw in that your old dining reservations are never deleted or wiped from your account. To fix this, I added functionality so DOCBatch 3 can do this automatically.

By default, DOCBatch 3 deletes reservations older than 2 hours, but you can decide to delete all your reservations instead.

When I first made this feature, I had 352 reservations in my account from the entire Fall Semester. It definitely produces a lot of email spam, since you get an email for every dining reservation deleted.

 DOCBatch 3 has some extra functionality sitting behind a floating button in the bottom right corner at all times. Clicking on this reveals a menu, where you can change the appearance of DOCBatch, see the changelog, log out, go back to DOCBatch 2, et

DOCBatch 3 has some extra functionality sitting behind a floating button in the bottom right corner at all times. Clicking on this reveals a menu, where you can change the appearance of DOCBatch, see the changelog, log out, go back to DOCBatch 2, etc. Delete Reservations also lives here too.

Of note, I made some Siri Shortcuts so you can ask Siri to make a reservation for now at either the Campus Center or Morgan thru DOCBatch.

 DOCBatch 3.2.0 also includes Dark Mode.   Definitely cements DOCBatch as the superior dining reservation maker dodad.

DOCBatch 3.2.0 also includes Dark Mode.

Definitely cements DOCBatch as the superior dining reservation maker dodad.

 Few last notes. Reserve for Now is smart enough to warn you if you’re about to reserve for now for a closed location. It’ll also do some trickery in the final 15 minutes before closing, making a reservation for the previous 30-minute block (even tho

Few last notes. Reserve for Now is smart enough to warn you if you’re about to reserve for now for a closed location. It’ll also do some trickery in the final 15 minutes before closing, making a reservation for the previous 30-minute block (even though this shouldn’t be the case).

Say it’s 9:50, CC closes at 10. DOCbatch is smart enough to make a reservation at 9:30, because the Dine On Campus app can’t make a 10 reservation (although DOCBatch can).

 Lastly, here’s the Eat Now feature in action. You can see that DOCBatch is indeed making a location request to find the nearest dining location.

Lastly, here’s the Eat Now feature in action. You can see that DOCBatch is indeed making a location request to find the nearest dining location.

 And just like that, I have a reservation at Morgan Dining Hall, which is the closest open location when this screenshot was taken. When Morgan Dining Hall is closed, this switches to the Campus Center.  And that’s DOCBatch 3!

And just like that, I have a reservation at Morgan Dining Hall, which is the closest open location when this screenshot was taken. When Morgan Dining Hall is closed, this switches to the Campus Center.

And that’s DOCBatch 3!