This is my first "real" fullstack app where I don't use Next.js's api routes. It is fully responsive and functional, but there are still some tweaks that can be made to make it better.
- Next.js
- Express.js
- MongoDB
- TailwindCSS
- shadcn/ui
- Typescript & Zod
- Redux
- JWT Authentication
Express.js backend uses JWT to authenticate users. The token is stored in a httpOnly cookie and is valid for 30 days.
- Full CRUD functionality on notes
Users can create, read, update and delete notes. The notes are stored in a MongoDB database.
- Autosave notes and title
While this was not that hard to implement, it was a bit tricky to get it working with the WYSIWYG editor. Also, there are still some tweaking left to do in order to maximize UX.
- Zod for input validation
Currently, I am using Zod only in the frontend. I am planning to use it in the backend as well.
- WYSIWYG editor
Used Tiptap rich text editor.
- Used Airbnb eslint and prettier configs
- Used Jest and Testing Library for testing