Skip to content

Latest commit

 

History

History
68 lines (43 loc) · 3.02 KB

File metadata and controls

68 lines (43 loc) · 3.02 KB

Notify - A Note-Taking App ✍️

image image image

Overview

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. 🔐📓


Table of Contents


Frontend 🖥️

Features:

  • 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. 🔒🔄

Testing:

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. ✅

image


Backend 🔙

Features:

  • 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. 💾

Testing:

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. ✅

image


SonarQube Integration 🔍

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.

image