📌 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 ✉️ [email protected]
-
@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.