Este documento fornece instruções sobre como configurar e executar a API localmente.
Antes de começar, certifique-se de ter os seguintes pré-requisitos instalados em seu sistema:
- Node.js e o gerenciador de pacotes npm (normalmente instalados juntos com o Node.js).
- MySQL Workbench (ou qualquer outro cliente de banco de dados MySQL).
- Insomnia (ou qualquer outro cliente de API REST) para testar as rotas da API.
Siga as etapas abaixo para configurar e executar a API localmente:
-
Clone este repositório em sua máquina local;
-
Crie um arquivo
.envna raiz do projeto com as seguintes variáveis de ambiente:DATABASE_URL="mysql://<usuario>:<senha>@localhost:3306/<nome_do_schema>" JWT_SECRET="chavesecreta" -
Abra um terminal na pasta raiz do projeto e execute o seguinte comando para instalar as dependências do projeto:
npm install -
Inicie a aplicação executando o seguinte comando:
npm start
A API será iniciada e estará disponível em http://localhost:3001.
A API estará disponível na seguinte URL: https://backend-production-a1f0.up.railway.app/
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 da API para o site Pipoca Ágil
| 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 mensagemO nome é obrigatóriocaso o campo name não seja informado no body da requisição; -
A rota retorna o código
400, com a mensagemEmail é obrigatóriocaso o campo email não seja informado no body da requisição; -
A rota retorna o código
400, com a mensagemSenha é obrigatóriocaso o campo password não seja informado no body da requisição; -
A rota retorna o código
400, com a mensagemO nome deve ter no mínimo 3 caracterescaso o campo name tenha menos de 3 caracteres; -
A rota retorna o código
400, com a mensagemO sobrenome deve ter no mínimo 3 caracterescaso o campo surname tenha menos de 3 caracteres; -
A rota retorna o código
400, com a mensagemEndereço de Email inválidocaso o campo email seja inválido; -
A rota retorna o código
400, com a mensagemEmail 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 mensagemSenha deve ter 8 caracteres ou maiscaso o usuário tente criar uma senha com menos de 8 caracteres; -
A rota retorna o código
400, com a mensagemA senha deve conter pelo menos uma letra maiúsculacaso o usuário tente criar uma senha sem letra maiúscula; -
A rota retorna o código
400, com a mensagemA senha deve conter pelo menos uma letra minúsculacaso o usuário tente criar uma senha sem letra minúscula; -
A rota retorna o código
400, com a mensagemA senha deve conter pelo menos um númerocaso o usuário tente criar uma senha sem números;