Inspiration
Well, I will admit it here, one of my close friends had missed their car maintenance and then gotten a fine by the local authorities, that is where I get the inspiration for this
What it does
How we built it
- We use NextJS paired with the bleeding edge AuthJS to manage authentication with Sendgrid emailing and GitHub Oauth2
- With Novu we send mail/messages to our users on demand
- GitHub Actions take care of scheduling a call to the api's endpoint we named
veryVeryProtectedEndpointthat will run the function to trigger Novu - Last but not least, we made use of tailwindcss, headlessui and heroicons to make the Ui as you know it
Challenges we ran into
- We initially planned to authenticate with Auth0 but because of the migratory nature of the big update from next-auth to authjs we faced several issues and eventually ended up using mailing and github oauth
- Unfortunately for us AuthJs troubles didn't end there, because of the major migration we found signs of broken/incomplete documentation where we had to read the source code to fill the gaps in
- We had to think very well about how to send mails to users every 24 hours if they have a car scheduled in 24 hours, we ended up just making a private endpoint and plugging github actions to cron job it
Accomplishments that we're proud of
- We are proud about how we read the source code of the project authjs to get it working (PR to the project coming soon hopefully)
- The bare satisfaction we had on learning a new way to fetch things (SWR) in nextjs is enough to count it as a accomplishment
- Apart from that we are also happy how our project can help car owners not miss pollution checks and help us in climate change
What we learned
As we mentioned, we planned to use the latest technologies or ones we haven't touched before so here's a list of some of them:
- NextJs v13
- AuthJs
- Novu
- Sendgrid
- Twilio
- SWR
- Planetscale
What's next for Carcho.co
We found out that Novu also supports sending push notifications, discord messages, slack messages and team messages we plan to integrate them into our application in the future as well as adding a settings page to manage all of these
Log in or sign up for Devpost to join the conversation.