Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/abhijithvijayan/onepass
OnePass Password Manager in the making.
https://github.com/abhijithvijayan/onepass
create-react-app expressjs neo4j nextjs nodejs password-manager react react-native react-router redux srp
Last synced: 3 months ago
JSON representation
OnePass Password Manager in the making.
- Host: GitHub
- URL: https://github.com/abhijithvijayan/onepass
- Owner: abhijithvijayan
- License: agpl-3.0
- Created: 2019-06-06T14:50:32.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-02-24T11:20:58.000Z (almost 5 years ago)
- Last Synced: 2024-10-11T20:32:27.439Z (3 months ago)
- Topics: create-react-app, expressjs, neo4j, nextjs, nodejs, password-manager, react, react-native, react-router, redux, srp
- Language: JavaScript
- Homepage:
- Size: 2.21 MB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 24
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
OnePass
> An Open-Source Password Manager (being) build on latest web/native technologies & higher security protocols.
The WebApp is still in the very development phase.
You could test out the live progress at
https://onepass.abhijithvijayan.in
Use sample credentials from this paste
https://pastebin.com/raw/4bB7DsxX
## Prerequisites
- node >= 8 <11
- neo4j## Table of contents
- [Quick Start](#quick-start)
- [NPM Commands](#yarn-commands)
- [Adding New Dependencies](#adding-new-dependencies)
- [How Packages Communicate](#how-packages-communicate)## Quick Start
1. Run `yarn bootstrap` in order to install all dependencies.
2. Run whichever package you wish to, using specific commands listed below.
3. Enjoy ✨#### Launch WebApp (Next.js - Express Server)
- Run `yarn run dev:web` to launch webapp at port `4000`
#### Extension
- Run `yarn run dev:extension` to launch create-react-app at `port 3000` and express backend server at `port 4000`
## YARN Commands
### bootstrap
This runs `yarn install` on each package and symlinks local packages.
## Adding New Dependencies
Adding packages to a `yarn workspaces` project is slightly different than adding to a standard node package. Common `devDependencies` can be added to the top level `package.json` file using `-W --dev` flag.
### Adding Common Dependencies
This is the most likely scenario you'll face.
In the root directory ( `onepass/` ) run the following commands:
```sh
yarn add some-cool-package -W
yarn bootstrap
```This makes `some-cool-package` available to all packages.
### Adding Individual Dependencies
```
yarn workspace @onepass/ add some-cool-package
```### Creating A Dependency To Another Local Package
To create a dependency to a `foo` package from a `bar` package:
In the `bar` package, add the following entry in the `packages/bar/package.json` file under the dependencies key:
```js
{
//...other stuff...
dependencies:{
//...other dependencies...
"@onepass/foo": "0.0.1", // this version must be exact otherwise it fetches from npm
}
}
```**Important**
The version number must be exact as in the package.json of `foo` to link local packages, otherwise it will (try to) fetch the package from NPM.
### Directory Structure
- @onepass/core - Encryption/Decryption related functions
- @onepass/web - Next.js App
- @onepass/extension - Create-React-App Browser-extension
- @onepass/server - Express Server
### Vault Architecture
Follows similar architecture like of 1password.com
> Read more in-detail [here](https://1password.com/files/1Password%20for%20Teams%20White%20Paper.pdf)
#### In simple words:
> You have a Master Password & Secret Key with which ONLY you can unlock the vault.
> These 2 items are NEVER send to the server in any manner.
> All encryption / decryption stuff is done on the client device itself.
## Stack
WebApp
- Node (Web server)
- Express (Web server framework)
- SRP Protocol (Authentication)
- Passport (JWT Authentication)
- React (UI library)
- Next (Universal/server-side rendered React)
- Redux (State management | Ducks Style)
- styled-components (CSS styling solution library)
- Ant-Design (React UI Framework)
- SASS (CSS Preprocessor)
- Neo4j (Graph database)Browser extension
... not fixed yet
Android / iOS
...
## Author
👤 **abhijithvijayan**
## Contributing
Pull requests are welcome as there are plenty of improvements & features to be worked on.
Open [issues](https://github.com/onepassapp/onepass/issues) for feedback, requesting features, reporting bugs or discussing ideas.
## Show your support
Give a ⭐️ if this you find this project helpful!
Also, help in the development to slay the bugs and making this much awesome and free.