Este repositório contém a minha solução para o desafio técnico proposto pela NG.CASH. O desafio consistiu na criação de uma aplicação full-stack, onde destaco o desenvolvimento do backend. Nele, construí uma API REST em Node.js com TypeScript, seguindo os princípios da Arquitetura Limpa (Clean Architecture) e adotando as boas práticas do Clean Code.
- Frontend: React, TypeScript, Bootstrap
- Backend: Node.js, TypeScript
- Banco de Dados: Sequelize, MySQL
- Outros: Docker
Para executar o projeto localmente, siga as instruções abaixo:
-
Clone este repositório em sua máquina local:
git clone https://github.com/thecrawler1/ng.cash.git
-
Acesse o diretório do projeto:
cd ng-cash-challenge
-
Construa e inicie os contêineres Docker:
docker-compose up -d --build
-
Execute as migrações do banco de dados para criar as tabelas necessárias:
docker exec app_backend npm run db:migrate
-
Acesse a aplicação em seu navegador, abrindo http://localhost:3000.
A aplicação inclui testes unitários para a camada de domínio. Para executar os testes, utilize o seguinte comando:
docker exec app_backend npm run test
No desenvolvimento do backend, segui os princípios da Arquitetura Limpa, que promove a separação de responsabilidades e a manutenibilidade do código. Isso permitiu criar uma estrutura organizada e escalável para a aplicação.
Contribuições são bem-vindas! Se você identificar problemas ou tiver sugestões de melhorias, fique à vontade para criar um pull request ou abrir uma issue.