There are people who need help or guidance from a tutor, and there are people who want to volunteer their time and knowledge to help their community. Helping Minds is a place to bring these people together and help them schedule study sessions in public scpaces without any cost.
What it does
The site allows users to browse the currently available sessions and submit a registration form in order to reserve their spot in a particular session. Users who have expertise in one of the subjects can fill out a form to set up one of these sessions which they will lead. The sessions are displayed in a calendar and can be viewed in a map for ease of use. The site sends email confirmations to the users after each interaction.
How I built it
The site that users interact with is a Google Site. The database consists of a series of Google Sheet documents, and the functionality is implemented using Google Apps Script to tie it all together. Google Maps and Google Calendar are also updated and then embedded in the user-facing site.
Challenges I ran into
Since Google Sheets are not designed to be used as a database, the scripts that interact with them are at times lengthy. Tasks like searching a table for a particular name or email became quite time-consuming.
Accomplishments that I'm proud of
Due to the nature of the project, all the functionalities are independent from each other. I am very satisfied that I was able to make all the pieces work together to achieve a cohesive site.
What I learned
I wanted to work on a project using entirely Google products. Although this is not the path that one would first think of when developing this kind of site, I learned that although some tools are very good for some things, pushing them to do more than they are designed to can sometimes work to our disadvantage. We should always use tools for the purpose they were created.
What's next for Helping Minds
There is still room for improvement. Making the map update automatically, allowing users to cancel or edit their sessions, and improving the email notification system are all tasks that would improve the usability of the site.