Inspiration

About three months ago, I had a math test sometime that week and realized I needed extra help. Naturally, I reached out to the NHS society and applied for a tutor for Calculus. Unfortunately, the NHS society responded a little too late, for they had responded the weekend after I took my test. When they did connect me to a student tutor, I did not know who they were at first so I had to hunt them down, asking one friend after the other where they sat during lunch. Although I was completely satisfied with my tutoring experience, I wish it had started sooner. This got me thinking - how could I make the process of applying for a tutor more convenient and organized while maintaining efficiency? This thought is what prompted the development of the NHS Tutoring App.

What it does

The NHS Tutoring App connects the student and tutor in a way never done before. Students can not only apply for a tutor via email as before, but now they have direct access to NHS tutors. Along with sending an email to NHS with your name, subject you want to be tutored in, and a location/time that works for you, students can directly message tutors via a custom chat message system built into the app. This eliminates any possible excess wait time for students between sending an application and getting a response. They can also work out any issues regarding timing and location with an existing tutor. What makes this app unique is the fact that it has everything a student/tutor would need to communicate with each other in a single mobile application.

How I built it

I used Xcode and Google Firebase for this app. Xcode was used for iOS development and Firebase was used for all server side interactions. I used Xcode to create the User Interface of the app and used Firebase for things like logging in with email and for chat interaction. I created a database to store email information for login/registration verification and for communicating chat messages from user to user. Using a TableView as well as a custom template for its cells (which act as text messages), I was able to create a chat interface for students and tutors.

Challenges I ran into

I did not know how to use Xcode or program in Swift up until 5 days ago. As a result, there are still some gaps in my knowledge and I had to periodically reference Q&A sites for solutions to bugs that more experienced iOS developers could easily surpass during development. I also had very limited experiences with databases prior to the development of this app and had to learn a lot on the fly - it took a while to fully understand how to use Firebase and integrate it into Xcode.

Accomplishments that I'm proud of

I am proud of myself for learning a language and development software that I had not used before in just 5 short days. I am also happy for being able to learn how to use Firebase and use it in my project. Although there was quite a big learning curve in terms of the sheer amount of things I had to learn, I am glad I was able to persevere and get past it.

What I learned

I learned how to use Xcode and create server side interaction with my project. I had a lot of trouble with the nuances of Xcode development and how to generally structure an app. I learned that Xcode was organized in terms of storyboards and swift files. I also learned how to organize files within the MVC framework. This was a new concept for me and

What's next for NHS Tutoring App

I would like to add a reminders feature to the app and extend the chat functionality from just 2 users to multiple pairs, and maybe even group chats. I would also like to improve the UI of the app.

Built With

Share this project:

Updates