Para execução do código, basta abrir o arquivo start.bat (ou start.sh se linux) e depois abrir http://localhost:3000 no browser
Por meio deste teste queremos validar sua aptidão e conhecimento para encarar o desafio de ser um Desenvolvedor Fullstack dentro da Mailou Dev.
Backend: Você deverá desenvolver um servidor HTTPS que disponibilize API's REST para realizar um CRUD de produtos.
Frontend: Vocẽ deverá desenvolver uma tela que possua uma tabela listando todos os produtos já cadastrados. Nesta tela você deverá ter a opção de inserir, alterar e excluir produtos.
| Campos | Descrição |
|---|---|
| id | Chave primaria, obrigatório. |
| name | Texto, obrigatório e único conforme categoria. (se já houver um produto com esse nome e categoria o sistema não deve permitir cadastrar) |
| description | Texto, não obrigatório. |
| category | Lista de opções, obrigatório. (E = Eletrodoméstico | L = Limpeza | M = Móveis | I = Informática) |
| price | Numérico, obrigatório. (permitir 2 casas decimais) |
| created_at | Data e horário, obrigatório. |
Requisitos:
- Apresente um código organizado. (Clean Code);
- Arquitetura: MVC (Model View Controller);
- Tecnologias a serem utilizadas:
- Backend: Node.js ou Typescript;
- Frontend: React.js;
- Armazene os produtos cadastrados em um banco de dados de sua preferência. (Mysql, Postgres, etc.);
Diferenciais:
- Conhecimento em Docker. Exemplo de aplicação do teste: Subir o banco de dados;
- Conhecimento de migrations. Exemplo na aplicação do teste: Criar de forma automatica a tabela no banco de dados;
- Conhecimento em Testes. Exemplo na aplicação do teste: Criar teste para cada uma das funcionalidades (CRUD);
Obs.: Todas as tecnologias sugeridas são as que mais utilizamos em nossos projetos. Porém entendemos que a tecnologia não é a solução, mas sim o meio para chegar lá. Faça na stack de seu maior conhecimento, mas priorize o que sugerimos. 🤝