Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/notsooshariff/password-manager
A password manager application and a complete user data leak prevention system developed for users who want to self-host their password managers on their own infrastructures rather than giving the control over to a third party
https://github.com/notsooshariff/password-manager
eslint firebase firebase-auth nextjs typescript
Last synced: 6 days ago
JSON representation
A password manager application and a complete user data leak prevention system developed for users who want to self-host their password managers on their own infrastructures rather than giving the control over to a third party
- Host: GitHub
- URL: https://github.com/notsooshariff/password-manager
- Owner: NotSooShariff
- License: mit
- Created: 2023-10-16T12:59:57.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-28T12:38:00.000Z (20 days ago)
- Last Synced: 2024-10-28T16:25:09.004Z (20 days ago)
- Topics: eslint, firebase, firebase-auth, nextjs, typescript
- Language: TypeScript
- Homepage:
- Size: 59.4 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 🔐 Monolith Password Manager Documentation
### 1. Introduction
#### Overview
Monolith is a password manager application and a complete user data leak prevention system developed for users who either want to self-host their password managers on their infrastructures rather than giving the control over to a third party or for organizations or people who aren't as tech-savvy and want to take charge of their digital security and privacy. It allows users to securely store and manage their passwords. This documentation provides a guide on how to use the Monolith application.You can watch an in-depth explanation of this project here:
https://github.com/NotSooShariff/password-manager/assets/93514938/9a4ecf20-a898-4ea1-831f-a469b16069ff
📽️ Find it on YouTube: https://www.youtube.com/watch?v=Tbqcxu5fYGg
#### Features
- User authentication using Firebase
- Docker container for database deployment
- Secure password storage
- Password generation
- Password retrieval
- Password management#### Tech Stack
- NextJS
- TypeScript
- TailwindCSS
- Firebase
- Docker
- Snyk### Components / Solution Infrastructure
These are the four components of our solution (and where to find them):
![Schematic](public/solution-infrastructures.png)### 2. Getting Started
#### Prerequisites
Before you begin, ensure you have the following prerequisites installed:
- [Node.js & npm (Node Package Manager)](https://nodejs.org/en/download)
- [Git](https://git-scm.com/downloads)
- [Docker](https://docs.docker.com/desktop/install/windows-install/)
- [Firebase account](https://console.firebase.google.com/)
- [Make](https://gnuwin32.sourceforge.net/packages/make.htm) (Optional)
- A hosting provider (Optional)
#### Installation
1. Clone the Monolith repository from GitHub. Using the following command:
```
git clone https://github.com/NotSooShariff/Password-Manager.git
```
2. Navigate to the project directory using the following commands:
```
cd Password-Manager
```
3. Install dependencies using:
```
npm install
```
4. Pull the database from docker:
```
docker pull notsooshariff/mono-db
```### 3. User Authentication
#### Firebase Setup
- Create a Firebase project at [Firebase Console](https://console.firebase.google.com/).
- Obtain Firebase API Keys (apiKey, authDomain, projectId, etc.).
- Use the `.env.template` to create a `.env.local` and paste all your API Keys there so that the app can access these variables locally.
- Once you have set this up, you will be able to use Firebase OAUTH to log in to your Application.### 4. Application Structure
#### Project Directory
- The application follows a typical NextJS project's structure with the latest version## Getting Started
First, Get your database up and running:
```
docker run -d --name my-mongodb-container -p 5000:5000 notsooshariff/mono-db
```Once your database is running and your Firebase keys have been configured, run the development server:
```bash
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
```Open [http://localhost:3000](http://localhost:3000) with your browser to see the website live.
# License
This project is licensed under the MIT License - see the [LICENSE.md](https://github.com/NotSooShariff/password-manager/LICENSE.md) file for details.
# Contributions
Contributions are welcome! Feel free to fork the repo and issue a pull request to improve this project.