It's essentially a productivity web app. I needed an app for myself where I can set goal to complete tasks within a given period of time (I had been doing it with pen and paper). I decided to create one for myself thinking it would not be that complex. But I was wrong, I kept finding endless "essential" features. Ultimately it took 3x longer than expected .
Let me walk you through the tech stack.
Using Nuxt.js. I work with Nuxt.js at work. So it seemed like a good idea to choose this framework to build an Alpha version quickly. Nuxt made everything easier to deal with. There is a plugin for almost everything.
Sync with Local Storage: using a Vuex plugin
Rest API: I used Nuxt's middlewares to create the APIs . It's good enough to handle 8-10 controllers and I don't need to deploy a separate backend.
Authentication: @nuxtjs/auth-next package.
Database queries: Prisma. Prisma is highly recommended to do things faster and with less pain.
Date time: moment.js. There are alternatives that are faster and slimmer. But only moment.js had all the features I needed and I had previous experience with it.
Styles: SCSS
Postgres. And using Prisma as an ORM made everything super chill.
The app lives on one of my Ubuntu VPS instance inside a docker container. I have not configured CD yet. I have plan to move it to vercel. Please let me know what you think :)
Source code: https://github.com/iAmShakil/taskpaw
app link: https://taskpaw.com/