A aplicação foi desenvolvida para fins de aprendizagem, utilizando os padrões de arquitetura limpa e código limpo. O objetivo era obter conhecimento sobre repository pattern, docker, arquitetura limpa, documentação de rotas com swagger e código limpo. A aplicação permite o registro de usuários.
- Repository Pattern
- Docker
- Docker-compose
- Node.js
- TypeScript
- Express
- MongoDB
- Swagger --> para documentar as rotas da API.
- SOLID
- Injeção de Dependência
- Repository Pattern
User { id: string; firstName: string; lastName: string; email: string; password: string; }
Para acessar a documentação das rotas da API, após rodar o projeto, acesse: http://localhost:8000/api-docs/#/
- Recomendo que crie uma .env para deixar a aplicação mais segura. exemplo da .env
PORT=8000
MONGODB_URL=mongodb://localhost:27017
MONGODB_USERNAME=
MONGODB_PASSWORD=
# Instale as dependências com:
$ `yarn install`
# Inicie mongoDB local com docker usando o comando:
$ `yarn mongo-start`
# Para iniciar o projeto, na linha de comando, basta rodar o comando
$ `yarn start:dev`
Endpoint base da aplicação http://localhost:8000/
Para verificar a documentação das rotas da API com o Swagger, basta acessar a seguinte rota:
http://localhost:8000/api-docs/#/Users
{
"firstName": "Fulano",
"lastName": "De tal",
"email": "fulanodetal@site.com",
"password": "1234"
}
Response
{
"firstName": "Fulano",
"lastName": "de Tal",
"email": "fulanodetal@site.com",
"password": "1234",
"id": "63dc16c8d5fea198ef0c3d98"
}
Obter a lista de todos os usuários cadastrados
{
{
"firstName": "Fulano",
"lastName": "de Tal",
"email": "fulanodetal@site.com",
"password": "1234",
"id": "63dc16c8d5fea198ef0c3d98"
},
{
"firstName": "Beltrano ",
"lastName": "da Silva",
"email": "beltranodasilva@site.com",
"password": "12345",
"id": "63e6bdf9d9dc8dd49daa1adc"
}
}
Buscar usuário pelo ID
{
"id": "63e7b5e4d5f7ed8e7b0d887f",
"firstName": "Teste ",
"lastName": "de test",
"email": "fulanodetal@site.com",
"password": "1234"
}
Atualizar usuário pelo ID
{
{
"firstName": "Fulano",
"lastName": "dos Santos",
},
}
Response
{
"firstName": "Fulano",
"lastName": "dos Santos",
"email": "fulanodetal@site.com",
"password": "1234",
"id": "63dc16c8d5fea198ef0c3d98"
}
Deletando usuário
Response
{
"firstName": "Fulano",
"lastName": "dos Santos",
"email": "fulanodetal@site.com",
"password": "1234",
"id": "63dc16c8d5fea198ef0c3d98"
}
- Para entrar em contato basta mandar um email para: adsonbruno2@gmail.com