O banco de dados de medicamentos da Memed é um ponto chave da plataforma de prescrição digital, sendo que a equipe responsável mantém atualizados mais de 25 mil medicamentos alopáticos.
A tarefa de atualização é feita repetidas vezes no dia-a-dia dos especialistas em conteúdo da Memed, e acreditamos que ela possa ser executada de uma maneira mais eficiente.
A atualização de um medicamento exige:
- Fazer a busca pelo medicamento, utilizando parte do nome ou algum identificador (ID, GGREM, EAN…)
- Editar o medicamento, atualizando alguns campos
- Manter um histórico do que foi atualizado, para posterior auditoria dos dados
Criar um sistema de gerenciamento de conteúdo (CMS, vulgo "Admin"), onde um especialista possa encontrar e editar de forma rápida o medicamento e visualizar o histórico de modificações.
A solução pode ser feita com ou sem frameworks front-end e back-end, mas deve utilizar os seguintes Design Patterns:
- Repository
- Service Locator
- Command
- MVC
- Singleton
Não é necessário utilizar o mesmo pattern em ambas as partes da aplicação (front-end e back-end).
O back-end deve ser uma API REST, de preferência, uma JSON API. Não é necessária autenticação para acessar o sistema, queremos que você se concentre no cadastro de medicamentos.
É livre a escolha do banco de dados. O arquivo dados.csv contém os dados fictícios de 20 medicamentos que deverão ser utilizados no desafio.
Fique a vontade para usar algum framework CSS (ex: Bootstrap, Material, Semantic UI).
Para enviar seu código, faça um fork deste repositório e nos avise quando concluir o desafio (:white_check_mark: as mensagens dos seus commits também serão analisadas).
Lembre-se de alterar o README.md com as instruções para rodar o projeto.
1 - O usuário deverá encontrar um medicamento utilizando um trecho do nome ou GGREM:
- roacutan (trecho do nome)
- 10100018200 (trecho do GGREM)
2 - A tabela com os medicamentos deverá listar os encontrados (respeitando o loading até que a resposta seja recebida)
3 - Ao clicar em um medicamento, as informações do mesmo poderão ser editadas:
4 - Ao salvar as alterações, deverá mostrar uma mensagem de sucesso ou erro:
5 - O usuário deverá ver, no histórico do medicamento, a modificação realizada:
Boa sorte and let’s code!