Giter VIP home page Giter VIP logo

escribo-processo-seletivo-node's Introduction



Escribo - Processo Seletivo Node

Desafio

Ver Projeto

Objetivo:

Desenvolver uma API RESTful para autenticação de usuários, que permita operações de cadastro (sign up), autenticação (sign in) e recuperação de informações do usuário.

Especificações Técnicas:

  1. Formato de Comunicação:
  • Todos os endpoints devem aceitar e retornar apenas dados no formato JSON.
  • Retorno JSON para situações de endpoint não encontrado.
  1. Persistência de Dados:
  • Armazenamento persistente de dados do usuário.
  1. Respostas de Erro:
  • Formato padrão:

      { mensagem: mensagem de erro } 
    

Endpoints:

1. Sign Up (Criação de Cadastro):

  • Input:

Web 1

  • Output (sucesso):

Web 2

Erros:

  • E-mail já cadastrado:

      { mensagem: E-mail já existente }
    

2. Sign In (Autenticação):

  • Input:

Web 1

  • Output (sucesso):

Web 2

Erros:

E-mail não cadastrado ou senha incorreta:

{ mensagem: Usuário e/ou senha inválidos }

Senha incorreta: status 401 com:

{ mensagem: Usuário e/ou senha inválidos } |

3. Buscar Usuário:

  • Requisição: Header Authentication com valor Bearer {token}

Erros:

  • Token inválido:

      { mensagem: Não autorizado }    
    
  • Token expirado (mais de 30 minutos):

      { mensagem: Sessão inválida }
    

Requisitos:

  • Persistência de dados.
  • Sistema de build com gerenciamento de dependências.
  • Task runner para build.
  • Padronização de estilo (ex: jsHint/jsLint).
  • Framework: Express, Hapi, ou similar.

Requisitos Desejáveis:

  • JWT como token.
  • Testes unitários.
  • Criptografia hash na senha e token.

Submissão:

  • Repositório no GitHub.
  • Hospedagem: Heroku, Google Cloud, AWS, ou similar.

Prazo:

  • 72 horas

Insomnia

Web 1 Web 2 Web 3 Web 4 Web 5

Rotas

  • POST: /auth/signin
  • POST: /auth/signup
  • GET: /users/me/:id
  • BaseURL: https://escribo-processo-seletivo-node.vercel.app/

signup

    {
        "name": "user-name",
        "email": "[email protected]",
        "password": "12223434",
        "cellphones": [
            {
                "number": "123456789",
                "ddd": "11"
            }
        ]
    }

signin

    {
        "email": "[email protected]",
        "password": "12345678"
    }

🛠️ Tecnologias

📁 Back-end

🔋 Versionamento e Deploy


⚙️ Configuranções e Instalações

Clone do Projeto

$ git clone https://github.com/renovatt/escribo-processo-seletivo-node.git

Variáveis de ambiente

PORT=
JWT_SECRET=
DATABASE_URL=

Instalando as dependências

$ npm install

Iniciando o projeto

$ npm run dev

Como contribuir?

  • Você pode dar suporte me seguindo aqui no GitHub
  • Dando uma estrela no projeto
  • Criar uma conexão comigo no linkedin fazendo parte da minha networking e curtir o meu projeto.

Autor Wildemberg Renovato de Lima

escribo-processo-seletivo-node's People

Contributors

renovatt avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.