Inspiration
The project is inspired by my personal experiences of trying to get to my professor's "after-hours office hours". I have several professors who really want to help their students and they do this by having an open-door policy. This app helps both - the professors and the students getting the best information about the office hours. One important thing I want to achieve with this project is the to accomplish everything with the least amount of effort on the instructors and students side.
What it does
This is a web-app where a professor can "sign-in" and with a click of a button mark their availability. A student too, with a click of a button, can check to see if their professor has an open door or not. So if a professor is going to be in their office, after the official office hours, for, say 40 more min. Then they can sign-in to the app and say mark their availability. A student, who is in the vicinity or in the same building but is having a great workflow, wants to talk to them. They can check that with a click of a button. This way the time and the workflow of the student are not broken and learning is facilitated smoothly. This is also helpful for students who cannot go to the normal office hours because of some other reservations.
How I built it
I built the app using flask as my backend and hosted the app on google app engine. I am using the Google datastore to store the instructor and class data.
Challenges I ran into
This was my first time making a complex web-app so I ran into a lot of challenges. I didn't know about a lot of the HTTP errors and had to google them all. But maybe selecting what framework to use was the biggest one. I spent the first 6 hours of the hackathon trying to learn Django and trying to use that in my project. Only to later realize that this would not be suitable for a small project like this. So I had to throw away 6 hours worth of code and start over from scratch.
Accomplishments that I'm proud of
Maybe the biggest thing I am proud of is that I wrote the entire project using SQLite3 as my database system only to find out that Google App Engine does not support it. So with 10 hours reaming into the hackathon, I had to change my entire database from SQLite3 to Google's datastore if I were to publish my app on the App Engine. The last 10 hours of the hackathon were probably the most exciting part. Another thing that I am proud of is that this was my first hackathon and unlike some of my friends, I did not give up but kept on going even when I had to throw away 6-hours worth of cod or change the database in the last 10 hours.
What I learned
I learned a lot. I learned how to choose a framework for a project. I learned how to select a database system for your project. I learned how a complex web-app actually works and how it all fits together. But most importantly I learned that this hackathon, my first one, was going to be the start of something big in my life.
What's next for Door's Open!
As of right now Door's Open! does not have a single CSS code (literally!). It's all pure HTML in black and white. I intend on adding a few aesthetics to my project. Other than that, every professor can watch all the classes scheduled in a university. I intend on changing that so that only the professor teaching the class can edit the schedule. The main feature I wanna add to the project is a timer so that instructors can see how much time they are gonna be in the office. Other than that I wanna add google login so that it further reduces the steps that professor take.
Built With
- flask
- google-app-engine
- google-datastore
- python
- sqlite
Log in or sign up for Devpost to join the conversation.