A secure personal notes application with end-to-end encryption (E2EE), AES-256 encryption for all notes and user data. Designed as a practice project and deployed on Proxmox as a self host solution with a modern dark theme interface.
All notes are encrypted client-side before being sent to the server, ensuring complete privacy without relying on external services.
- Node.js 20+
- PostgreSQL 12+
Create a PostgreSQL database and execute the schema:
psql -U postgres -d postgres -f database/schema.sqlOr manually create the database and run the SQL script from database/schema.sql.
Install dependencies for both backend and frontend:
cd backend && npm install
cd ../frontend && npm installCreate a .env file in the backend folder with the following variables:
DB_USER: PostgreSQL usernameDB_HOST: Database host (example: localhost)DB_NAME: Database name (example: securenotes)DB_PASSWORD: PostgreSQL passwordDB_PORT: PostgreSQL port (default: 5432)JWT_SECRET: JWT tokenPORT: Backend server port (default: 4000)
Start the backend server:
cd backend
npm run devStart the frontend development server:
cd frontend
npm run devThe application will be available at http://localhost:5173 by default
MIT



