When I started studying in UCI as a Computer Science major, I was able to learn so many things about coding and the possibilities that come with it. As a freshman, all of the things that people could do fascinated me, and wanting to experience that firsthand is what lead me into volunteering for the hackathon. Here, after my 11 PM to 3 AM, I was allowed to stay and participate, so as I looked at the categories for judging, I had the drive to make something educational.
For about two years, I worked as a private tutor for high school students in Irvine. I got a decent amount of clients, and I used to just record hours on an Excel spreadsheet. However, I thought about how there could be some program or website that could make recording information not only easier, but more organized as well. Unfortunately, since I didn't have a team for the hackathon, I was severely limited by my own personal skill and experience, so I decided to make a simple program. Using this program, private tutors can be more informed about the clients they have, and they can keep track of who they're tutoring and when they tutored a particular client. Since this is my first hackathon, I wanted to make something that would apply to my personal interests while also adhering to the categories at hand.
What it does
The program is essentially a user-based interface with the private tutor as the user. After connecting to an old or new database with a set structure of tables, the user can add and remove information about clients (called "Tutorees"), from ways to contact the client to the schools that they go to. The user can also add, update, and remove records, which is a log of the dates and times of when a client had been tutored along with whether the client has paid it yet. The user is able to see the information in an organized fashion, and whenever the user is done, he or she can close the program and be ensured that the database has been updated with all of the information.
How I built it
The only programming knowledge I had was a high school AP class and one quarter of Python teaching, so I decided to use Python as the main language for the program. I mainly used the sqlite3 module that comes in the standard library of Python 3.6, meaning I also spent a lot of time understanding and using SQL syntax. The program is made using mainly functions, and the program was made with the idea that a single individual is the one using the program at a time, hence the locality of the database.
Challenges I ran into
As I have iterated before, this is my first hackathon, so the whole process of figuring out what to make and deciding how to do was a challenge in itself. I struggled with envisioning how certain methods would work along with which actions a user could potentially do while using this program. With a lack of teammates, all of the coding had to come from me, so I had only myself to fix and make the multitude of problems I ran into while coding. I also had to learn how to read the Python Standard Library to figure out the things I especially wanted, which was new to me.
Accomplishments that I'm proud of
I am proud of everything I have done. While it may not have been as sophisticated and developed as other programs, the project itself was solely driven by me alone, and I feel happy with the product and the whole journey it took to get there. I was also blessed with the opportunity to participate because I chose to volunteer, so I am proud of the things I could do to help people during the hackathon (mainly by picking up trash) and the hurdles I overcame afterwards by participating.
What I learned
I personally learned so much from this hackathon. I learned not only how much work it takes into organizing the event, but also how much work it takes to create something from start to finish in less than 36 hours. I have a lot more experience in SQL while also understanding Python more than I did before, and I also got the knowledge of what others could do while working and coding together. I hope that when I get the opportunity of future hackathons, I can learn more about the team aspect of coding.
What's next for Tutor Database
While I would personally use this program for my own uses in the future since I still tutor other students, I think that if I were to develop this program with more experience, I would make this Tutor Database a lot more accessible to others. With a development of a website or app, I envision the project to grow into a way for tutors and clients to get connected, and the use of databases for tutors particularly could help many different groups benefit from the information in some way; governments and schools could have databases of what students need help in improving based on what subjects , while tutors and tutorees alike can find the people they want to connect to.