π Simple yet complete OTP accessed password manager app with REST API server, based on the MERN stack. Project contains Express.js app as a backend (server) and React app as a frontend (client).
- Access via OTP sent to the email address
- Adding, editing and deleting passwords
- Getting user's selected password
- Sorting and searching through all user's passwords
- Storing encrypted passwords
π Documentation of all available endpoints can be found here: API Documentation
- Clone repository
git clone https://github.com/jakubcieslik99/privpass.git
βΉοΈ Instructions for running server app locally:
- Navigate to the server directory and install dependencies
cd privpass/server
pnpm install
- Run server app in development mode
npm run docker
pnpm run dev
βΉοΈ Instructions for running client app locally:
- Navigate to the client directory and install dependencies
cd privpass/client
pnpm install
- Run client app in development mode
pnpm run dev
βΉοΈ Instructions for building and running server app in production
- Transpile to production build
pnpm run build
- Run server app in production mode
pnpm install --prod
pnpm run start
βΉοΈ Instructions for building and running client app in production
- Create production build
pnpm run build
- Run client app in production mode
pnpm run preview
βοΈ To run server app, you will need to add the following environment variables to your .env file
-
DIR
(default already set for development) -
ENV
(default already set for development) -
MONGO_VER
-
HOST
-
PORT
-
API_URL
-
APP_URL
-
MONGO_HOST
-
MONGO_PORT
-
MONGO_DB
-
MONGO_USER
-
MONGO_PASSWORD
-
JWT_ACCESS_TOKEN_SECRET
-
JWT_REFRESH_TOKEN_SECRET
-
CRYPTO_SECRET
-
GMAIL_ADDRESS
-
GMAIL_PASSWORD
-
NOREPLY_ADDRESS
( βΉοΈ - sample .env config file is provided in the server directory under the name .env.sample
)
βοΈ To build client app, you will need to add the following environment variables to your .env file
VITE_PREVIEW_PORT
VITE_API_URL
( βΉοΈ - sample .env config file is provided in the client app directory under the name .env.sample
)
π€ Available client app languages: EN, PL
If you have any feedback, please reach out to me at βοΈ contact@jakubcieslik.com
-
@jakubcieslik99 (Frontend dev, UI/UX, backend dev, DB management, deployment)
-
@juras99 (Presentation, documentation, some HomeScreen components styling)
Initial versions of this project were developed as part of the subject "Group project" at the University of Zielona GΓ³ra under the patronage of Perceptus Sp. z o.o.. Project was originally called PercPass. Some of the mechanics of the application were changed after the final presentation.