Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/danekf/signum-app
A small password management website. Inspired by Last Pass. Proof of concept. Made with EJS, express and nodeJs.
https://github.com/danekf/signum-app
Last synced: 5 days ago
JSON representation
A small password management website. Inspired by Last Pass. Proof of concept. Made with EJS, express and nodeJs.
- Host: GitHub
- URL: https://github.com/danekf/signum-app
- Owner: danekf
- Created: 2022-07-29T19:05:26.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-08-05T14:26:34.000Z (over 2 years ago)
- Last Synced: 2023-08-09T11:24:03.810Z (over 1 year ago)
- Language: EJS
- Homepage:
- Size: 946 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Issues][issues-shield]][issues-url]
SIGNUM
A password saver built by LHL students for their midterm Project
Explore the project »
Report Bug
·
Request Feature
Table of Contents
## About The Project
[![SignumScreenshot][product-screenshot]](https://github.com/danekf/Sigun-App)
Signum is a web app that serves as a password manager for its end users.
### Built With
- express, for server setup
- bcrypt, for encryption
- chalk, for a user pleasing server console
- cookie session, for storing session cookies
- ejs, as a view engine
- bootstrap, for styling
- jquery, for dynamic events
- postgres, for database
- nodemon, for automatic server resets on save
- morgan, for logging of server requests
-
and many more...
This project aims to have its developpers hone their frontend, and backend skills, including PSQL to build a cohesive end product.
A user is able to register, create new saved logins and set them as favourites for easy access. It has dynamic viewport elements, so that mobile and desktop have optimized views of data.
The app also uses a modal drop down menu to automatically generate passwords for its users, and gives them different criteria with which to do so.
The app uses jquery event targetting to show/hide passwords for individual logins, as well as copying that data to clipboard.
Passwords are hidden by default but the login area can be clicked to view it.
## Getting Started
## Database Setup
To setup your database for the project, follow these instructions prior to forking and cloning the repo.
## Repo Setup
1. Fork this repo
2. Clone your forked repo
```sh
git clone https://github.com/your_username_/Signum-App
```
3. Create a new `.env` in the root folder by using `.env.example` as a reference.
4. Update the .env file with your correct local information (You can change this if youd like but ensure all references are updated)
```sh
- username: `labber`
- password: `labber`
- database: `midterm`
```
5. Install dependencies
```sh
npm i
```
6. Fix binaries for sass
```sh
npm rebuild node-sass
```
7. Build/reset the database with value from seeds
-This step can be performed at any point to reset the database to its original seeded value.
```sh
npm run db:reset
```
8. Run the server!
```sh
npm run local
```
9. Checkout your server by visiting :
```sh
http://localhost:8080/
```
## Warnings & Tips
```
The app does not currently encrypt user passwords for saved logins.
They are stored as plain text which is absolutely not ideal for real world scenarios.
This app is meant for learning database management and to develop skills.
Real usernames and passwords should not be stored or used commercially at this point.
```
- Do not edit the `layout.css` file directly, it is auto-generated by `layout.scss`
- Split routes into their own resource-based file names, as demonstrated with `users.js` and `widgets.js`
- Split database schema (table definitions) and seeds (inserts) into separate files, one per table. See `db` folder for pre-populated examples.
- Use the `npm run db:reset` command each time there is a change to the database schema or seeds.
- It runs through each of the files, in order, and executes them against the database.
- Note: you will lose all newly created (test) data each time this is run, since the schema files will tend to `DROP` the tables and recreate them.
## Roadmap
- [ ] Add "Prettier" for cleaner linting.
- [ ] Add instructions for setting up Postgres database to README File.
- [ ] Encrypt saved login info. This is the next MAJOR step for the app.
- [ ] Add organisations logic (Org can manage saved logins, and grant/revoke access to specific users/groups)
- [ ] Add 2FA
- [ ] Add Dynamic elements when selecting a login
See the [open issues](https://github.com/danekf/Signum-App/issues) for a full list of proposed features (and known issues).
## App images
### Copy to Clipboard
[contributors-shield]: https://img.shields.io/badge/Contributors-3-sucess
[contributors-url]: https://github.com/danekf/LHL-MidtermProject/graphs/contributors
[forks-shield]: https://img.shields.io/badge/All-Forks-yellow
[forks-url]: https://github.com/danekf/LHL-MidtermProject/network/members
[issues-shield]:https://img.shields.io/badge/All-Issues-red
[issues-url]: https://github.com/othneildrew/Best-README-Template/issues
[product-screenshot]: images/Favourites.png