Skip to content

Repository files navigation

Pipoca Ágil - Backend

Utilizando a API localmente na sua máquina

Este documento fornece instruções sobre como configurar e executar a API localmente.

Pré-requisitos

Antes de começar, certifique-se de ter os seguintes pré-requisitos instalados em seu sistema:

  1. Node.js e o gerenciador de pacotes npm (normalmente instalados juntos com o Node.js).
  2. MySQL Workbench (ou qualquer outro cliente de banco de dados MySQL).
  3. Insomnia (ou qualquer outro cliente de API REST) para testar as rotas da API.

Configuração

Localmente

Siga as etapas abaixo para configurar e executar a API localmente:

  1. Clone este repositório em sua máquina local;

  2. Crie um arquivo .env na raiz do projeto com as seguintes variáveis de ambiente:

    DATABASE_URL="mysql://<usuario>:<senha>@localhost:3306/<nome_do_schema>"
    JWT_SECRET="chavesecreta"
    
  3. Abra um terminal na pasta raiz do projeto e execute o seguinte comando para instalar as dependências do projeto:

    npm install
    
  4. Inicie a aplicação executando o seguinte comando:

    npm start
    

A API será iniciada e estará disponível em http://localhost:3001.

Remoto

A API estará disponível na seguinte URL: https://backend-production-a1f0.up.railway.app/

Testando as Rotas

Agora você pode usar o Insomnia (ou qualquer outro cliente de API REST) para testar as rotas da API. Certifique-se de usar a URL base http://localhost:3001 para todas as requisições ou https://backend-production-a1f0.up.railway.app/ para testes.

📚 Documentação (endpoints)

Documentação da API para o site Pipoca Ágil

🫂 User

Método Funcionalidade URL
POST Realiza o cadastro do usuário na aplicação https://backend-production-a1f0.up.railway.app/user
A estrutura do body da requisição deverá seguir o padrão abaixo:
  • Request Body:
    • name (string, Obrigatório): Nome do Usuário.
    • surname (string, Opcional): Sobrenome do Usuário.
    • email (string, Obrigatório): Email.
    • password (string, Obrigatório): Senha.
    • role (string, Opcional): Acesso do Usuário (default: 'user').
Content-Type: application/json

{
  "name": "John",
  "surname": "Doe",
  "email": "john.doe@example.com",
  "password": "Password123",
}
A resposta da requisição é a seguinte:
HTTP/1.1 201 Created
Content-Type: application/json

{
  "token": "<generated-token>"
}
A requisição irá falhar nos seguintes casos:
  • A rota retorna o código 400, com a mensagem O nome é obrigatório caso o campo name não seja informado no body da requisição;

  • A rota retorna o código 400, com a mensagem Email é obrigatório caso o campo email não seja informado no body da requisição;

  • A rota retorna o código 400, com a mensagem Senha é obrigatório caso o campo password não seja informado no body da requisição;

  • A rota retorna o código 400, com a mensagem O nome deve ter no mínimo 3 caracteres caso o campo name tenha menos de 3 caracteres;

  • A rota retorna o código 400, com a mensagem O sobrenome deve ter no mínimo 3 caracteres caso o campo surname tenha menos de 3 caracteres;

  • A rota retorna o código 400, com a mensagem Endereço de Email inválido caso o campo email seja inválido;

  • A rota retorna o código 400, com a mensagem Email já está em uso. Por favor, escolha outro. caso o usuário tente criar uma conta com email existente;

  • A rota retorna o código 400, com a mensagem Senha deve ter 8 caracteres ou mais caso o usuário tente criar uma senha com menos de 8 caracteres;

  • A rota retorna o código 400, com a mensagem A senha deve conter pelo menos uma letra maiúscula caso o usuário tente criar uma senha sem letra maiúscula;

  • A rota retorna o código 400, com a mensagem A senha deve conter pelo menos uma letra minúscula caso o usuário tente criar uma senha sem letra minúscula;

  • A rota retorna o código 400, com a mensagem A senha deve conter pelo menos um número caso o usuário tente criar uma senha sem números;

🔑 Login

About

backend pipoca ágil

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages