Encrypted Notes is a secure full-stack web application designed for creating, storing, and managing personal notes with strong encryption. Notes are encrypted server-side using AES-256-GCM before being stored, ensuring privacy even if the database is compromised.
- Modern UI β Clean, responsive interface built with React and Tailwind CSS
- Authentication β Email & password login and registration via Firebase Auth
- Create Notes β Add new encrypted notes with title and content
- Edit Notes β View and update notes using modal dialogs
- Delete Notes β Safely remove notes with confirmation
- Search Notes β Instantly filter notes by title or content
- Secure API β REST API built with Go
- AES-256-GCM Encryption β Notes encrypted before storage
- Decryption on Read β Notes decrypted only for authenticated users
- Firebase Admin SDK β Secure access to Firestore
- Access Control β Each user can only access their own notes
- Frontend: React, Vite, TypeScript, Tailwind CSS
- Backend: Go
- Authentication: Firebase Authentication
- Database: Firestore
- Encryption: AES-256-GCM
- Notes are never stored in plaintext
- Encryption keys are managed via environment variables
- Frontend never has access to encryption keys
git clone https://github.com/Danindu05/encrypted-notes.git
cd encrypted-notescd backend
go mod tidy
export ENCRYPTION_KEY=Enter Your Encryption Key
export FIREBASE_SERVICE_ACCOUNT=/path/to/FireBaseKey.json
go run .Backend: http://localhost:8080
cd frontend
pnpm install
echo "VITE_API_URL=http://localhost:8080" > .env
pnpm devFrontend: http://localhost:5173