Inspiration

Our struggles of keeping organized at school with an irregular two-week timetable that doesn't account for weekends or holidays left us frustrated. MyTable ensures that no one else feels that way.

What it does

MyTable isn't your ordinary calendar app. This web app lets you create timetables for various aspects of your life, from keeping track of school clubs to remembering to water your plants. As opposed to a regular calendar which places priority on days, weeks, and months, MyTable allows you to define exactly how your timetable should look using an interactive builder and a powerful rules system. All of this is run through a complex rule prioritization algorithm so that you never miss a day. Each timetable is sent to an infinitely scalable serverless API and assigned an ID so that your calendar can be accessed anywhere at any time.

How we built it

We built MyTable using Vue.js, allowing for quick, efficient, and organized development of our interfaces and functionality, paired with Tailwind CSS for well-defined styling, allowing us to design the website exactly to spec. All user interaction is handled through a custom back end Vercel serverless API written in Node.js for simple scaling and management. This project was developed in JetBrains' WebStorm and Microsoft's Visual Studio Code, owing to the powerful CodeTogether plugin that allowed seamless collaboration.

Challenges we ran into

Developing the rule prioritization algorithm to generate an accurate timetable based on user input was particularly difficult and forced us out of our comfort zone. This effort also forced us to write well-documented, understandable code so that anyone involved would be able to make changes as needed.

Accomplishments that we're proud of

This was our first ever hackathon, so we're proud that we managed to build something like this in the short timespan given. One accomplishment we're proud of in particular was successfully putting together the CRUD API that accomplished the data management we needed in a simple, scalable, production-ready way.

What we learned

This project helped us learn a lot more about collaboration in development, from utilizing plugins to share our progress to tracking contributions with GitHub.

What's next for MyTable

We intend to grow this project far beyond the scope allowed by the hackathon's time constraints. In particular, a full-fledged login system and a way to invite other users to see and use your timetables are high on the priority list!

Built With

Share this project:

Updates