/projeto19-drivenpass-4

Projeto para o curso driven, um gerenciador de senhas.

Primary LanguageShell

Projeto DrivenPass

dp

📋 Descrição

Navegar na internet pode ser uma atividade muito divertida, mas ao mesmo tempo, muito perigosa. Inúmeros estudos e levantamentos (nacionais e internacionais) mostram que o número de golpes virtuais não para de crescer. O que levanta a questão: como nos proteger? Existem várias formas diferentes de se proteger. Tudo começa com o uso de senhas diferentes e seguras. Neste projeto, foi desenvolvido a api da DrivenPass, um gerenciador de senhas!


💻 Tecnologias e Conceitos

  • JWTs & refresh tokens
  • Node.js
  • Express.js
  • TypeScript
  • Postgresql
  • Heroku

🚀 Rotas

POST /signup
    - Rota para cadastrar um novo usuário
    - headers: {}
    - body: {
        "email": "fulano@gmail.com",
        "password": "12345"
    }
POST /signin
    - Rota para fazer login
    - headers: {}
    - body: {
        "email": "fulano@gmail.com",
        "senha": "12345"
    }
POST /createcredential (autenticada)
    - Rota para criar uma credencial
    - headers: { "Authorization": "Bearer $token" }
    - body: {
        "url": "http://site.com",
        "username": "fulano",
        "password":"12345",
        "title":"credencial teste"
    }
GET /getcredential/:credentialId (autenticada)
    - Rota para listar uma credencial pelo id
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
GET /getcredentials (autenticada)
    - Rota para listar todas as credenciais do usuario logado
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
DELETE /deletecredential/:credentialId (autenticada)
    - Rota para deletar uma credencial pelo id
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
POST /createnote (autenticada)
    - Rota para criar uma nota
    - headers: { "Authorization": "Bearer $token" }
    - body: {
        "title":"titulo para nota",
        "note":"nota escrita"
    }
GET /getnote/:noteId (autenticada)
    - Rota para listar uma nota pelo id
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
GET /getnotes (autenticada)
    - Rota para listar todas as notas do usuario logado
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
DELETE /deletenote/:noteId (autenticada)
    - Rota para deletar uma nota pelo id
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
POST /createcard (autenticada)
    - Rota para criar um cartão
    - headers: { "Authorization": "Bearer $token" }
    - body: {
        "cardNumber":"134264538378",
        "cardName":"FULANO B SILVA",
        "securityCode":"123",
        "expirationDate":"12/23",
        "password":"12345",
        "isVirtual":false,
        "type":"credit" | "debit" | "both",
        "title":"meu cartão"
    }
GET /getcard/:cardId (autenticada)
    - Rota para listar um cartão pelo id
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
GET /getcards (autenticada)
    - Rota para listar todos os cartões do usuario logado
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
DELETE /deletecard/:cardId (autenticada)
    - Rota para deletar um cartão pelo id
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
POST /createwifi (autenticada)
    - Rota para criar um wifi
    - headers: { "Authorization": "Bearer $token" }
    - body: {
        "name":"wificasa",
        "password":"123456",
        "title":"wifi do vzinho"
    }
GET /getwifi/:wifiId (autenticada)
    - Rota para listar um wifi pelo id
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
GET /getwifi (autenticada)
    - Rota para listar todos os wifis do usuario logado
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
DELETE /deletewifi/:wifiId (autenticada)
    - Rota para deletar um wifi pelo id
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
POST /createdocument (autenticada)
    - Rota para criar um document
    - headers: { "Authorization": "Bearer $token" }
    - body: {
        "docType":"RG" | "CNH" 
        "completeName":"Fulano da Silva Santos"
        "emissionDate":"01/22"
        "expirationDate":"01/27"
        "registerDate":"564368"
        "agency":"SIGLA"
    }
GET /getdocument/:documentId (autenticada)
    - Rota para listar um document pelo id
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
GET /getdocument (autenticada)
    - Rota para listar todos os documents do usuario logado
    - headers: { "Authorization": "Bearer $token" }
    - body: {}
DELETE /deletedocument/:documentId (autenticada)
    - Rota para deletar um document pelo id
    - headers: { "Authorization": "Bearer $token" }
    - body: {}

🏁 Rodando a aplicação

Certifique-se que voce tem a ultima versão estável do Node.js e npm rodando localmente.

Primeiro, faça o clone desse repositório na sua maquina:

git clone https://github.com/matheusfacciolla/projeto19-drivenpass

Depois, dentro da pasta, rode o seguinte comando para instalar as dependencias.

npm install

Finalizado o processo, é só inicializar o servidor

npm run dev