Aplicação full stack dockerizada desenvolvida em React e Node.js com TypeScript. Seu objetivo é realizar depósitos e transferências bancárias entre usuários.
- Desenvolver uma API Restful em Node.js, Express.js e TypeScript
- Dockerizar a aplicação com Docker Compose
- Utilizar um ORM
- Utilizar um banco de dados MySQL
- Documentar a API com o framework Swagger UI
- Testes unitários e de integração no backend utilizando Mocha.js, Chai.js e Sinon.js com 100% de cobertura
- Desenvolver o frontend em React
- Utilizar Tailwind para a estilização do frontend
- Mobile First
- Aplicar os princípios da arquitetura SOLID
- Aplicar os princípios de POO (Programação Orientada a Objetos)
- Node.js
- React.js
- TypeScript
- Express.js
- Sequelize.js
- Tailwind
- MySQL
- Json Web Tokens
- Mocha.js
- Chai.js
- Joi
- Docker
- Docker Compose
- Swagger UI
Instalação e execução com Docker
Para rodar está aplicação é necessário ter Git, Node, Docker e o Docker Compose instalados no seu computador. O Docker Compose precisa estar na versão 1.29 ou superior e o Node na versão 16.
Para conseguir executar os comandos do abaixo também é necessário que seu sistema operacional tenha um terminal Bash instalado. Caso você esteja utilizando Linux ou macOS, o Bash já vem instalado por padrão. Porém, se o seu sistema for Windows, você pode aprender como instalar.
git clone git@github.com:lauropera/donus-bank.git
2 - Na raíz do projeto, suba os containers do frontend (frontend_donus
), backend (backend_donus
) e o banco de dados (db_donus
) com o comando:
docker-compose up -d --build
Os containers estão mapeados nas seguintes portas:
- frontend_donus: 3000
- backend_donus: 3001
- db_donus: 3002
Para parar os containers, na pasta raiz do projeto execute o comando:
docker-compose down
Para acessar o frontend, vá em seu navegador acesse a rota:
http://localhost:3000
Nessa aplicação é necessário fazer o login com um email e senha. A tabela abaixo disponibiliza usuários pré-cadastrados para o acesso:
Senha | |
---|---|
mallu@artist.com | sambinhabom |
sebastian@sebs.com | piano |
A documentação está disponivel através do Swagger. Acesse a rota http://localhost:3001/docs para ter acesso a documentação e testar a API. Se preferir, utilize um cliente de requisições HTTP de sua preferência (Insomnia, Thunder Client, etc) para fazer as requisições.
Acessar a cobertura de testes
Entre no terminal container do backend
docker exec -it backend_donus sh
Execute o comando para ver a cobertura
npm run test:coverage
Para poder sair do terminal do container execute o comando dentro do próprio
exit
🍐