O Desafio Shopper é uma solução que permite a atualização massiva de preços de produtos para lojas virtuais. Desenvolvida com React.js
no frontend
e Node.js
e Typescript
no backend
, a aplicação processa e valida os dados de um arquivo CSV
, exibe as informações dos produtos e, caso não haja violações de regras, efetua a atualização dos preços no banco de dados MySQL
.
O Desafio Shopper é uma solução desenvolvida para atender às necessidades das lojas virtuais na atualização massiva de preços de produtos. Através da ferramenta, os usuários podem importar um arquivo CSV
contendo os códigos dos produtos e os novos preços a serem atualizados. Além disso, o sistema realiza validações e aplica regras definidas pelas áreas envolvidas, garantindo que os preços estejam alinhados com as restrições estabelecidas.
O Desafio Shopper conta com uma interface intuitiva, inclusive com opção de temas
claro e escuro, que permite aos usuários:
- Realizar a validação dos dados.
- Visualizar as informações dos produtos.
- Atualizar os preços no banco de dados, caso todos os produtos estejam validados.
Além disso, desenvolvi uma ferramenta de importação de banco de dados, que automatiza a criação do banco de dados e a inserção dos dados iniciais.
A aplicação é melhor detalhada nos README
de cada parte do projeto, que podem ser acessados nos links abaixo. Lá você encontrará informações sobre como rodar a aplicação, detalhes de funcionamento e mais.
O README
referente ao Frontend pode ser acessado aqui.
O README
referente ao Backend pode ser acessado aqui.
Este projeto utilizou a Especificação de Commits Convencionais, com alguns tipos da convenção Angular. Além disso, foi utilizado o pacote conventional-commit-cli para ajudar a seguir a convenção de commits. É importante utilizar a convenção de commits em projetos para manter o histórico de commits organizado e facilitar a leitura e o entendimento do que foi desenvolvido.
No desenvolvimento da aplicação foi realizado utilizando o Git para controle de versão e o GitHub como repositório remoto. Foram criadas branches para cada funcionalidade implementada e, posteriormente, mergeadas à branch principal.
- O projeto foi desenvolvido seguindo os padrões de Clean Code especificados pelo Lint do Airbnb.