Inspiration

I'm always not consistent with my New Year Resolution and I always fall out of habit. So I was wondering why I can't keep up with my habit because I quickly run out of motivation and I don't have anyone to guide or support me. My application is created to solve these 2 personal problems.

What it does

Make a new year resolution but put the stake that you will lose a small amount of money voluntarily. If you stay in the habit for a designated amount of time you will get the money back and you will get to choose the charity to which you want to donate. If not the money will go to the charity that other people who finish their goal/ maintain their habit choose.

If you want to help your friend finish the New Year resolution, you can be an observer and track your friend for you

The application donates the money yearly to a charity.

How we built it

Basically I built a full-stack application. For the user side, I used NextJS, ReactJS as front-end, NextJS as back-end and Mongodb as my database. I used NextJS for front-end, the routes uses directory routing from NextJS 13, custom hooks, layout,... The frontend also used standard folder structure to make the future development process easier for example using separated components folder or custom hooks to makes the process easier. The backend for the user side is a little bit more tricky as it may perform multiple query in order to get the result.

The database is NoSQL so it's easier to scale. The database triggered its events to reset the resolution info everyday and update the resolution streak and result every week.

I also mainly used Postman to test my APIs.

For the admin side, I used the same tech stack but it was much more simpler as the admin does not need fancy UI or complex query (although they will still need serious authentication to access). However the one thing added to the admin side is actually the ML model which pull out the data after every certain period of time to create clusters of resolutions that has the same content. This ensures the focus of the content for the application as it may tailor-makes the tips and tricks around type of resolution

Challenges we ran into

Connect every services that I created and also debugging took most of the time

Accomplishments that we're proud of

Debugging is the worst but once I got the hang of it, the problems always seem to be from a specific place. Also having applied everything I learnt for this app is what I am really proud of.

What we learned

A lot of small things about the development process as well as the development itself.

What's next for me

Idk I just wanna build stuff ¯_(ツ)_/¯

Share this project:

Updates