npm install
npx prisma migrate dev
npm run dev
A intenção deste projeto é mostrar as vantagens em usar Next 14 com App router https://medium.com/@stk.devtest/next-js-14-the-differences-between-app-router-and-page-router-bec51abcc4c3#:~:text=The%20App%20Router%20boasts%20better,offs%20between%20performance%20and%20simplicity.
COMO: um adminstrador do sistema,
QUERO: poder registrar, atualizar e listar profissionais,
PARA: que eu possa gerenciar quem pode oferecer serviços através da plataforma
DADO: que estou autenticado como administrador
DADOS: que nenhum profissional está atualmente registrado com o email "joao@exemplo.com"
QUANDO: eu registro um profissional com os seguintes detalhes:
| nome | email | qualificações |
| João Silva | joao@exemplo.com | Dentista, MSc |
ENTÃO: um novo profissional deve ser criado
E: ele deve estar associado às qualificações "Dentista" e "MSc"
DADO: que o profissional "Carlos Mendes" está registrado com a qualificação "Pediatra"
QUANDO: eu atualizo as qualificações de Carlos para "Pediatra, PhD em Medicina"
ENTÃO: as qualificações de Carlos no sistema devem ser "Pediatra, PhD em Medicina"
QUANDO: eu solicito a lista de todos os profissionais
ENTÃO: eu devo receber uma lista contendo todos os profissionais registrados
E: cada profissional deve ter detalhes de suas qualificações associadas
- Next - react
- Zod
- React-Hook-Forms
- React-Query
- Material-UI
- Prisma
- SOLID
- Clean Archtecture
|-- /src
| |-- /backend
| | |-- /app
| | | |-- /interfaces
| | | |-- /use_cases
| | |-- /domain
| | | |-- /entities
| | | |-- /value_objects
| | |-- /infrastructure
| | | |-- /db
| | | | | -- /prisma
| | | |-- /web
| | |-- /interfaces
| | |-- /adapters
| | |-- /web
| | |-- /controllers
| | |-- /validators
| |-- /frontend
| |-- /public
| |-- /src
| | |-- /components
| | |-- /services
| | |-- /hooks
| | |-- /pages
| | |-- /utils
| |-- /styles
|-- /tests
| |-- /backend
| | |-- /unit
| | |-- /integration
| |-- /frontend
| |-- /unit
| |-- /component
|-- /config
ID: UC01
Ator Principal: Administrador
- O usuário deve estar autenticado e autorizado como administrador.
- O administrador acessa a página de registro de profissionais.
- O administrador preenche o formulário com nome, email e qualificações do profissional.
- O sistema valida os dados para garantir que não há registros duplicados.
- O sistema registra o profissional no banco de dados.
- O sistema exibe uma mensagem de sucesso ao administrador.
- No passo 3 do fluxo principal, se o email já estiver registrado, o sistema interrompe o fluxo principal.
- O sistema exibe uma mensagem de erro indicando que o email já está em uso.
- Um novo profissional é adicionado ao sistema, ou uma mensagem de erro é exibida.
ID: UC02
Ator Principal: Administrador
- O usuário deve estar autenticado e autorizado como administrador.
- O administrador acessa a lista de profissionais.
- O administrador seleciona um profissional para atualizar.
- O administrador altera as qualificações do profissional no formulário de edição.
- O sistema valida as alterações.
- O sistema atualiza as informações do profissional no banco de dados.
- O sistema exibe uma mensagem de sucesso ao administrador.
- As qualificações do profissional são atualizadas no sistema.
ID: UC03
Ator Principal: Administrador
- O usuário deve estar autenticado e autorizado como administrador.
- O administrador acessa a página de listagem de profissionais.
- O sistema recupera todos os profissionais do banco de dados.
- O sistema exibe os profissionais com seus detalhes, incluindo qualificações.
- Os profissionais são listados para o administrador.