✨ PlanetScale x Hashnode Hackathon

✨ PlanetScale x Hashnode Hackathon

About the hackathon

In July, I participated in the PlanetScale Hackathon (the 4th one now) and I'm looking forward to the next one to experiment and see what the community is capable of as feedback from this experience.

This time, it's about using the PlanetScale tool, a MySQL-compatible serverless database platform open-source platform to deploy a GraphQL API connected to a Heroku database.

Please check the hashnode post to get the full info about it.

What inspired you to create this project?

Obviously, I had to think about a project with a data flow of reading and writing data.

In my company, we use a tool to measure the mood of the team (teammood) so I tried to clone it. And 5 days are not enough with a new tech stack. So I had to make choice to restrain the MVP.

How did you build it?

First of all, I wanted to focus on Angular to build strong skills with it... but I check the doc of PlanetScale and of course it needed a server to manage the database and an API to request it etc...

So what better tech than NextJs to continue to focus on javascript^^. I cloned the git starter project to have something working well after tuning a bit the env data. It included also Tailwindcss that I wanted to try as well so I added tailwind-element on my project to quickly have some nice web components :)

To resume we have the following stack:

  • Javascript with NextJs (React for the front and Node on the server side)
  • Prisma as ORM to request the database
  • TailwindCSS

In such a short time I couldn't remake the full app, like multi-projects, mass-users, or full-stat on mood. I think I should master Auth0 to ease the setup of authentication on projects.

I choose to focus the MVP on the following points

  • 5 Users
  • 1 Projects
  • 1 Form to contribute your mood with a user
  • 1 Timeline to follow the project's mood

So how was your day today?

Fix and Improvement :)

Definitely, the database schema is to improve to retrieve a better project mood overview

Other improvements:

  • add authentication
  • add project creation + team management
  • allow setting one mood per user per day
  • better timeline

Conclusion

Building this app in a week was very fun.

Again, thanks to Hashnode and PlanetScale for having this Hackathon happening to give me the opportunity to put in place and learn about NextJs, Prisma, Tailwind, and MySQL with PlanetScale and use it on a side project.

Looking forward to the next Hackathon!

Resources used