Between friends and clubs, there are a lot of events to organize, each with its own set of different schedules to consider. The current solution is to use a site called when2meet where the user must manually copy over their availability from their own calendar for each event. While functional, the process can be frustrating and repetitive, which is why we came up with Scheduley, a group availability site that imports personal Google Calendar information.

What it does

Scheduley allows each user to fill out a Google Calendar within the site of their unavailable times that will be gathered by Scheduley to generate a new calendar detailing when each person is available. The new calendar is then displayed on the site for group planning use. Because Scheduley relies on Google Calendar information rather than user input, the user will never have to repeat any availability input to the site itself after the first time.

How we built it

Scheduley was made using HTML, CSS, JavaScript, Node.js, and the Google Calendar API. We used MongoDB to store and retrieve data about group calendars for our backend.

Challenges we ran into

When we started the project we had a major issue using the Google Calendar API, so we quickly turned to another API that would have served as a proxy between us and Google Calendar; however, that API soon proved to be too troublesome to work with as its bad documentation wound up setting us several hours back rather than forward. We decided to try using the Google Calendar API again later on into our project (but in a different way) and we realized that using this API would be possible.

We also had a lot of trouble figuring out how to separate our server and client side javascript code, and there were many instances throughout the weekend when we spent a long time addressing errors related to this issue.

Accomplishments that we're proud of

Despite all the challenges we faced, we’re very proud to have managed to work around each of them and in the process, learned how to deal with them.

Throughout the production of this entire project, most, if not all, the challenges we encountered stemmed directly from working with unfamiliar tools and territory. Having pushed through those difficulties regardless, we’ve learned both how to use those tools and approach those problems in the future and we’ve made it through to the end.

What we learned

We learned a lot about how to work with Node.js and integrate it with different tools. We also learned that not all APIs have helpful documentation, and that sometimes it's better to stick with well known and widely used APIs.

What's next for Scheduley

Our original plan involved the importing of personal Google Calendars directly into Scheduley after authentication so that the user will never have to take the extra step to enter any information. Because we were unable to achieve that goal within this hackathon, the next step would be to implement that feature to Scheduley.

Built With

Share this project: