Privacy-first encrypted notes web app with client-side encryption.
From the root directory, run:
npm run install:allThis installs dependencies for root, frontend, and backend.
Option A: Local MongoDB
- Install MongoDB locally
- Make sure MongoDB is running on
mongodb://localhost:27017
Option B: MongoDB Atlas (Cloud)
- Create a free account at https://www.mongodb.com/cloud/atlas
- Get your connection string
Create a file named .env in the backend/ directory with:
MONGODB_URI=mongodb://localhost:27017
PORT=3001
For MongoDB Atlas, use your connection string:
MONGODB_URI=mongodb+srv://username:[email protected]/
PORT=3001
Location: backend/.env
From the root directory:
npm run devThis starts both frontend and backend servers:
- Frontend: http://localhost:3000
- Backend: http://localhost:3001
# Terminal 1 - Frontend
cd frontend
npm run dev
# Terminal 2 - Backend
cd backend
npm run dev- All encryption happens in the browser using Web Crypto API
- Server never sees plaintext content
- Password is never sent to server
- MongoDB stores only encrypted data (ciphertext, IV, salt)