Projeto criado na TechTalk - Clean Architecture com Node.js
Devem ser mapeados as funcionalidades com a visão do usuário final.
- Criar usuário
- Listar Usuários
Devem ser mapeados os requisitos na visão do desenvolvedor para atender as funcionalidades.
- Utilizar express para criação das rotas da API REST
- Utilizar banco de dados relacional para persistir dos dados da aplicação
- Clean Architecture: estrutura da aplicação segue os padrões da Clean Architecture.
Run application using docker (up database and api containers):
npm start
Run application using ts-node-dev (you must have started the database before it):
npm run dev
Start only the database container:
docker-compose up -d pg_database
Frameworks e bibliotecas utilizadas na aplicação.
-
Typescript: é a linguagem padrão para projetos Node.js, pois permite uma arquitetura mais robusta, padrões de projeto, e boas práticas.
-
Express: é o framework utilizado na construção da API REST.
-
Swagger: todas os endpoints são documentados utilizando o
Swagger
. -
Postgresql: o SGBD utilizado na camada de dados é o
Postgresql
. -
TypeORM: o ORM utilizado na camada de dados é o
TypeORM
.
-
Docker: A aplicação Node.js and o banco de dados rodam dentro de container
Docker
. -
ESlint: para análise de código (Linting), usando como base o preset
airbnb
. -
Husky: para git hooks, como rodar os testes sempre antes de um git commit.
-
Jest: os testes unitários e de integração utilizam o framework
Jest
.
Danilo Sampaio (jose.sampaio@venturus.org.br)