/pass

API to manage passwords

Primary LanguageTypeScript


logo

Pass API

Back end Development Project
Browse TypeScript code

Built With

Table of Contents

Description

How are we going to memorize gigantic, semantically meaningless passwords? It is to solve this pain that password managers emerged! With them, we only create a “master” password and all other passwords are kept secret! So when we need it, just remember the “master” password!

This project is a password manager API.

Getting Started

This Api can be used in two different ways: by cloning the project or by using your preferred client, such as Insomnia or Postman.

To clone the project, run the following command:

git clone https://github.com/kirodoras/pass

Then, navigate to the project folder and run the following command:

npm i -y

Finally, start the server:

npm run dev

You can now access the API's endpoints by navigating to http://localhost:5008/ or to the deployed URL https://app-pass-api.herokuapp.com/.

Draw SQL

logo

Routes

Users /users

Notes /notes

Wifis /wifis

Credentials /credentials

Cards /cards

Users

Sign Up

POST users/signup
    - headers: {}
    - body:{
      "email": "test0@test.com",
      "password": "0123456789"	
    }

Sign In

POST users/signin
    - headers: {}
    - body:{
      "email": "test0@test.com",
      "password": "0123456789"	
    }

Notes

Create a note

POST notes/create
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
      "note": "My note",
      "tittle": "My tittle"
    }

Search all notes

GET notes/search
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Search a note

GET notes/search/:id
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Delete a note

DELETE notes/delete/:id
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Wifis

Create a network

POST wifis/create
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
      "network_name": "GVTXXXX",
      "network_password": "1234",
      "tittle": "My WIFI"
    }

Search all networks

GET wifis/search/
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Search a network

GET wifis/search/:id
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Delete a network

DELETE wifis/delete/:id
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Credentials

Create a credential

POST credentials/create
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
      "url": "https://www.youtube.com/",
      "url_user": "UseR",
      "url_password": "password",
      "tittle": "My Tittle"
    }

Search all credentials

GET credentials/search
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Search a credential

GET credentials/search/:id
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Delete a credential

DELETE credentials/delete/:id
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Cards

Create a card

POST cards/create
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
      "card_number": "5000400030001000",
      "card_name": "João Santos",
      "card_cvv": "321",
      "card_expirate": "12/99",
      "card_password": "1234",
      "card_is_virtual": false,
      "card_type": "BOTH",
      "tittle": "Driven Bank"
    }

Search all cards

GET cards/search
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Search a card

GET cards/search/:id
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Delete a card

DELETE cards/delete/:id
    - headers: {
      "Authorization": Bearer [JWT-TOKEN]
    }
    - body:{
    }

Contact

LinkedIn