Este projeto é uma API desenvolvida utilizando as tecnologias NestJS e TypeORM, além de autenticação por token.
A API foi criada para ser uma solução backend escalável e de fácil manutenção.
Para utilizar a API, siga as instruções abaixo:
- Clone o repositório:
git clone https://github.com/atilamariano/CineUserAPI
- Instale as dependências:
npm install
- Crie um arquivo
.env
na raiz do projeto com as seguintes variáveis de ambiente:
DATABASE_URL=
DB_DATABASE=
DB_HOST=
DB_PASSWORD=
DB_PORT=
DB_USER=
DB_CONNECTION=
JWT_SECRET_KEY=
- Rode as migrações do banco de dados:
npm run typeorm migration:run
- Inicie o servidor:
npm run start:dev
Pronto! A API está funcionando e pronta para ser utilizada.
A API possui os seguintes endpoints:
Realiza o login de um usuário.
Nome | Tipo | Descrição |
---|---|---|
string | Email do usuário | |
password | string | Senha do usuário |
Caso as credenciais sejam válidas, a API retorna um token de autenticação:
{
"token": "token_gerado_pela_api"
}
Caso as credenciais sejam inválidas, a API retorna o seguinte erro:
{
"statusCode": 401,
"message": "Unauthorized"
}
Retorna a lista de todos os usuários cadastrados.
[
{
"id": 1,
"name": "Fulano",
"email": "fulano@exemplo.com"
},
{
"id": 2,
"name": "Ciclano",
"email": "ciclano@exemplo.com"
}
]
Retorna os dados de um usuário específico.
Nome | Tipo | Descrição |
---|---|---|
id | int | ID do usuário desejado |
{
"id": 1,
"name": "Fulano",
"email": "fulano@exemplo.com"
}
Cadastra um novo usuário.
Nome | Tipo | Descrição |
---|---|---|
name | string | Nome do usuário |
string | Email do usuário | |
password | string | Senha do usuário |
{
"id": 1,
"name": "Fulano",
"email": "fulano@exemplo.com"
}
- NestJS
- TypeORM
- PostgreSQL
- JWT