/password-manager-server

Just deploy your own password manager. Just trust yourself.

Primary LanguageTypeScript

Password Manager

Just deploy your own password manager. Just trust yourself. Very simple server for basic password manager. Open for contribute. Your a front end dev? You can check and contribute to password manager client.

Some excellent features:

  • Open API implementation (doc and ui)
  • Implements many basic cryptographic concepts
  • Applying the Zero Knowledge principle
  • Implement integration testing via vitest
  • Use Typescript

Run This Project

  1. Install package
npm install
  1. Optional, for use docker compose
docker-compose up -d
  1. Setup your .env. If you use docker, the settings are in accordance with the config in docker-compose.yml
PORT = 3000
JWT_SECRET = ''
// This project use prisma as ORM.
// Please see this doc for your refrence database
// https://www.prisma.io/docs/concepts/database-connectors
DATABASE_URL = ''
  1. Setup the prisma ORM
npx prisma generate
npx prisma migrate dev
  1. Run the project
npm run dev
  1. You can access the open api documention at
http://localhost:3000/open-api

NodeJS Version Environment

  • Typescript = v5.4.3
  • NodeJS = v20.11.1
  • NPM = v10.2.4

Some further developments, if you want to contribute, here the top priority

  • The error handler still doesn't cover all errors (critpyo and zod errors don't yet)
  • For now, you can only save the password, but later you can save bank cards, notes, addresses and documents
  • Test cases are still few, only positive tests, many negative tests are needed to validate the error
  • Currently it's still TSC for the typescript compiler, and then we'll move to SWC for faster development and testing
  • Implement new id template [prefix]_[id]

Refrence