Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

Awesome Lists containing this project

README

        

[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Issues][issues-shield]][issues-url]





Logo

SIGNUM


A password saver built by LHL students for their midterm Project


Explore the project »




Report Bug
·
Request Feature



Table of Contents



  1. About The Project



  2. Database Setup


  3. Getting Started


  4. Roadmap

  5. App Images

## 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.

(back to top)

## Getting Started

## Database Setup
To setup your database for the project, follow these instructions prior to forking and cloning the repo.





(back to top)

## 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/
```




(back to top)

## 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.

(back to top)

## 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).

(back to top)

## App images

### Registration

Logo



(back to top)

### Password Generator

Logo



(back to top)

### Add New Login

Logo



(back to top)

### Basic Search

Logo



(back to top)

### Copy to Clipboard


Logo



(back to top)

[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