https://github.com/odanieldcs/semanaddev-doctorme
Repositório com o monorepo do projeto realizado na 2ª Semana DDev.
https://github.com/odanieldcs/semanaddev-doctorme
express-js nodejs prisma-orm typescript
Last synced: 8 months ago
JSON representation
Repositório com o monorepo do projeto realizado na 2ª Semana DDev.
- Host: GitHub
- URL: https://github.com/odanieldcs/semanaddev-doctorme
- Owner: odanieldcs
- Created: 2024-06-03T13:19:37.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-07T17:30:40.000Z (almost 2 years ago)
- Last Synced: 2025-04-08T17:52:45.367Z (12 months ago)
- Topics: express-js, nodejs, prisma-orm, typescript
- Language: TypeScript
- Homepage: https://semanaddev.danieldcs.com
- Size: 17.8 MB
- Stars: 11
- Watchers: 1
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Semana DDev
Neste documento você encontra a relação de requisitos do projeto da 2ª Edição do evento, o link para alguns scripts utilizados durante o evento, arquivos do layout e informações úteis.
- [x] [Aula 01 em 03/Jun](https://danieldcs.com/2sdv-aula1) - Liberada
- [x] [Aula 02 em 05/Jun](https://danieldcs.com/2sdv-aula2) - Liberada
- [x] [Aula 03 em 07/Jun](https://danieldcs.com/2sdv-aula3) - Liberada
- [ ] Aula Bônus, mais informações na live do dia 07/Jun
- [x] [Live 01 em 03/Jun às 19h](https://danieldcs.com/2sdv-live1) - Realizada
- [x] [Live 02 em 05/Jun às 19h](https://danieldcs.com/2sdv-live2) - Realizada
- [x] [Live 03 em 07/Jun às 19h](https://danieldcs.com/2sdv-live3) - Programada
## Links úteis
[Figma, ferramenta para abrir o design do projeto.](https://figma.com/)
## Requisitos da API
A API deve garantir:
- [x] Garantir que a API tenha um código limpo e de fácil manutenção
- [x] Garantir que a API tenha uma forma ágil de acesso ao banco de dados
- [x] Garantir que a API tenha um tratamento de erros
- [x] Garantir que a API não pare quando algum erro for retornado
- [x] Garantir que a API valide qualquer payload recebido
- [x] Garantir que a API armazene senhas seguras
- [x] Garantir que a API isole as operações por casos de uso
A API deve ter os seguintes casos de uso:
- [x] Listar médicos
- [x] Incluir no retorno a agenda de cada médico
- [x] Obter dados do médico
- [x] Garantir que o ID de um médico foi enviado na chamada - Request
- [x] Garantir que o ID do médico existe
- [x] Retornar os dados do médico com a agenda
- [x] Obter dados do paciente
- [x] Garantir o acesso somente a usuários autenticados - Request
- [x] Garantir que o Telefone de um paciente foi enviado na chamada - Requesrt
- [x] Garantir que o Telefone é de um paciente que existe
- [x] Incluir no retorno os agendamentos
- [x] Criar conta do paciente
- [x] Criar conta com nome, telefone e senha
- [x] Garantir somente um usuário por telefone
- [x] Fazer login do paciente
- [x] Garantir que o telefone é de um cadastro válido
- [x] Adicionar agendamento para o paciente
- [x] Garantir que foi enviado o paciente e o id de agenda disponível - Request
- [x] Garantir que a agenda está disponível
### Tabelas do sistema
- [ ] Patient _Paciente_
- _Campos: ID, UserID, Name, Phone, CreatedAt_
- _Relações: Appointments[], User_
- [ ] User
- _Campos: ID, Phone, Password, CreatedAt_
- _Relações: Patient_
- [ ] Appointment
- _Campos: ID, Date, Made, PatientID, DoctorID, CreatedAt_
- _Relações: Patient, Doctor_
- [ ] Doctor
- _Campos: ID, FirstName, LastName, City, State, Speciality, Bio, Picture, Price, Availability, Experience, Attendances, Address, CreatedAt_
- _Relações: Agenda, Appointment_
- [ ] Agenda
- _Campos: ID, Date, Available, DoctorID, CreatedAt_
- _Relações: Doctor_