O backend (REST api) deste projeto foi desenvolvido em Node.js e Express, utilizando o TypeORM para lidar com a base de dados MySQL. As rotas/endpoints estão documentadas no Imsonia caso solicitadas.
Arquitetura Clean Utilizei a arquitetura Clean para garantir a separação de responsabilidades, práticas que visam aperfeiçoar a manutenção do código a longo prazo. Dividi o código em camadas isoladas seguindo as diretrizes da Clean Architecture. Clean Architecture
A base de dados MySQL está hospedada na AWS RDS. O diagrama UML a seguir apresenta a relação entre as entidades:
O repositório do back-end está disponível publicamente no link: Back-End - Sitcon Lucas Vaz. Para rodar a api localmente após o clone:
- Executar
npm i
ounpm install
- Carregar as variáveis de ambiente (.env) ao projeto.
- Executar
npm run dev
.
O frontend foi desenvolvido em React com o auxílio do Tailwind CSS e a build foi feita com Vite. Adotei práticas da arquitetura SOLID e utilizei o Atomic Design para organizar os componentes de forma escalável e reutilizável.
SOLID
Segui os princípios do SOLID para garantir um código mais limpo e coeso. Abordei principalmente as práticas de sinle responsibility, open/closed e dependency inversion.
Atomic Design
Utilizei o Atomic Design para organizar os componentes em diferentes níveis de abstração, como átomos, moléculas, organismos e templates.
- Clonar o repositório e executar
npm i
ounpm install
- Executar
npm run dev
.