Skip to content

Instantly share code, notes, and snippets.

@cleicar
Last active February 28, 2021 00:26
Show Gist options
  • Save cleicar/140900bcf866a442c4c7e47bfa8aa17a to your computer and use it in GitHub Desktop.
Save cleicar/140900bcf866a442c4c7e47bfa8aa17a to your computer and use it in GitHub Desktop.
Desafio para dev (Booking API)
# O Desafio
Escrever um aplicação Rails API onde usuários poderão agendar sessões com os especialistas cadastrados.
## Modelos
1. Profissional (Specialist)
2. Paciente (Patient)
3. Agendamento (Booking)
## Endpoints
POST /api/v1/patients/auth - Criar conta do paciente com email e senha
POST /api/v1/patients/auth/sign_in - Logar paciente com email e senha
GET /api/v1/patients/:id - Exibir dados do paciente
PUT /api/v1/patients/auth - Atualizar dados do paciente
POST /api/v1/professionals/auth - Criar novo profissional
GET /api/v1/professionals/:id - Exibir dados do profissional
PUT /api/v1/professionals/auth - Atualizar dados do profissional
POST /api/v1/bookings - Criar novo agendamento entre paciente e profissional
GET /api/v1/bookings - Listar meus agendamentos
GET /api/v1/patients/:id/bookings - Listar agendamentos do paciente
GET /api/v1/bookings/:id - Ver detalhes de um agendamento
## Requisitos
1. Como usuário, quero me cadastrar e me tornar um paciente.
2. Como paciente, quero poder fazer login com meu email e senha.
3. Como paciente, quero exibir meus dados.
4. Como paciente, quero poder atualizar meus dados.
5. Como usuário, me cadastrar e me tornar um profissional.
6. Como paciente, quero exibir os dados do profissional.
7. Como profissional, quero poder atualizar meus dados.
8. Como paciente, quero realizar um novo agendamento com o profissional escolhido.
9. Como paciente, quero visualizar a lista com todos os meus agendamentos.
10. Como paciente, quero visualizar os detalhes de um agendamentos em específico.
## Importante
- A aplicação deve ser feita utilizando a linguagem Ruby on Rails.
- Faça uma boa documentação do projeto no README.
- Não é necessário que você faça todos os requisitos. Queremos apenas entender qual seu nível de desenvolvimento
e para isso, faça apenas o que você se sente confortável.
- Não existe uma ordem certa para fazer os requisitos. Você pode decidir começar por qualquer dos items e implementar quais achar melhor.
## Será considera um plus se você:
- Fizer deploy da aplicação no Heroku
- Criar testes unitários
- Usar o banco de dados Postgres
QUALQUER dúvida, pode entrar em contato que iremos ajudar.
Ao finalizar envie o código para um repositório no GitHub e nos envie o link por email :)
Boa sorte!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment