A full-stack encrypted note-taking application where your notes are secured with AES encryption before ever leaving your device. Built with a clean dark UI, rich text editing, and full user authentication.
- AES Client-Side Encryption - Notes are encrypted on your device before being sent to the server
- JWT Authentication - Secure register and login with bcrypt password hashing
- Rich Text Editor - Format notes with bold, italic, headings, lists, and more
- Folder Organization - Create color-coded folders to organize your notes
- Favourites & Locked Notes - Star important notes and lock sensitive ones
- Recycle Bin - Soft delete with recovery support
- Custom Wallpaper - Set a personal background for your dashboard
- Persistent Storage - Notes and folders saved to MongoDB Atlas
| Login | Dashboard | Note Editor |
|---|---|---|
![]() |
![]() |
![]() |
🔗 secure-notes-gules.vercel.app
Frontend: React (Vite), React Router, Axios, CryptoJS
Backend: Node.js, Express, MongoDB Atlas, Mongoose (Vercel Serverless Functions)
Auth & Security: JWT, bcryptjs, AES Encryption
Deployment: Vercel (frontend + serverless API)
Prerequisites:
- Node.js (v18 or higher)
- npm
- MongoDB Atlas account
Installation:
# Clone the repository
git clone https://github.com/arooj-zehra/secure-notes.git
# Navigate to frontend
cd secure-notes/frontend
# Install dependencies
npm install
# Start the development server
npm run devEnvironment Variables:
Create a .env file in the frontend folder:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
- When you save a note, the content is encrypted using AES on your device
- Only the encrypted version is sent to and stored in the database
- When you open a note, it is decrypted on your device using your session key
- The server never sees your plain text content
secure-notes/
├── frontend/
│ ├── api/ # Vercel serverless functions (backend)
│ ├── src/
│ │ ├── components/ # Sidebar, NoteCard, NoteEditor
│ │ ├── context/ # AuthContext, NotesContext
│ │ ├── pages/ # Login, Register, Dashboard
│ │ ├── services/ # API calls
│ │ └── utils/ # AES encryption helpers
│ └── vercel.json
└── backend/ # Original Express backend (reference)
This track was on loop while working on this project.
Star this repository if you found it interesting! ⭐
made with ❤️ by arooj


