Notify is a note-taking application that allows users to create, view, update, delete, and manage notes. Users can mark notes as favorites, view today's notes, and save drafts. Additionally, users can log in, log out, reset their password, and change their password. 🔐📓
- Create Notes: Users can create new notes with titles and descriptions. ✏️
- See Notes: View all created notes, including favorites and drafts. 👀
- Update Notes: Users can edit existing notes. ✍️
- Delete Notes: Users can delete notes that are no longer needed. ❌
- Favorite Notes: Users can mark notes as favorites for easy access. 💖
- Today's Notes: View notes created today. 📅
- Drafts: Users can save notes as drafts before finalizing them. 📝
- Login/Logout: Users can securely log in and out of the application. 🔑🚪
- Password Reset/Change: Users can reset or change their passwords. 🔒🔄
The frontend is tested using Vitest for testing React components and logic. It also includes React Testing Library for rendering components and simulating user interaction. ✅
- User Authentication: Implementing secure user login, logout, and password management functionalities. 🔑🔐
- Note Management: Handling create, read, update, delete (CRUD) operations for user notes. 📑🔄
- Favorites & Drafts: Managing notes marked as favorites or saved as drafts. 💫📝
- Today's Notes: Filtering and displaying notes created today. 📅✨
- Database Integration: Using MongoDB for storing user data and notes. 💾
The backend is tested using Mocha and Chai for unit testing and assertions. Supertest is used for API testing to ensure the server-side functionality works as expected. ✅
SonarQube is integrated into this project for static code analysis and to ensure code quality. It helps in identifying code smells, bugs, vulnerabilities, and provides detailed insights into the quality of the codebase.


