Keeper Password Manager Server
A secure backend server for managing and storing passwords, built with NestJS.
- 🔐 Secure password storage with bcrypt hashing
- 🔑 JWT-based authentication
- 👤 User registration and login
- 🔒 Password management (create, read, update, delete)
- 🛡️ Protected routes with JWT authentication
- Node.js (v14 or higher)
- npm or yarn
- PostgreSQL database
Create a .env
file in the root directory with the following variables:
DATABASE_URL="postgresql://username:password@localhost:5432/keeper_db"
JWT_SECRET="your-secure-jwt-secret"
# Install dependencies
$ npm install
# Generate Prisma client
$ npx prisma generate
# Run database migrations
$ npx prisma migrate dev
# Development
$ npm run start
# Watch mode
$ npm run start:dev
# Production mode
$ npm run start:prod
POST /auth/register
- Register a new userPOST /auth/login
- Login and get JWT tokenGET /auth/profile
- Get user profile (protected)
POST /passwords
- Create a new password entry (protected)GET /passwords
- Get all password entries (protected)GET /passwords/:id
- Get a specific password entry (protected)PATCH /passwords/:id
- Update a password entry (protected)DELETE /passwords/:id
- Delete a password entry (protected)
- Passwords are hashed using bcrypt before storage
- JWT tokens for secure authentication
- Protected routes requiring authentication
- Secure password storage and retrieval
- NestJS - Progressive Node.js framework
- Prisma - Next-generation ORM
- PostgreSQL - Relational database
- JWT - JSON Web Tokens for authentication
- bcrypt - Password hashing
# Run tests
$ npm run test
# Run e2e tests
$ npm run test:e2e
# Generate test coverage
$ npm run test:cov
This project is licensed under the MIT License.