Skip to content

greghonox/AGENDA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Praticando conceitos de Django Framework com Python 3.10.

O desafio será realizar:

  1. O usuário pode marcar uma consulta 1.1. Não deve ser possível marcar consultas para um dia e horário não disponível 1.2. Não deve ser possível marcar consultas para dia e horário passados
  2. O usuário pode desmarcar uma consulta 2.1. Não deve ser possível desmarcar uma consulta que já aconteceu
  3. O usuário pode visualizar as todas as consultas marcadas que ainda não aconteceram
  4. O gestor da clínica pode cadastrar um médico
  5. O gestor da clínica pode criar a agenda do médico para cada dia

Antes do desafio, caso queira rodar o projeto faço os passos abaixos:


  1. Faça build do docker compose para ter o projeto rodando. (Lembrando que não vou explicar os conceitos basicos de instalar o docker e coisas mais basicas)
docker-compose up

Ele deve aparecer no seu terminal alguns sinais semelhantes a esses: build

  1. Após isso deve se migragar os dados para poder ter a base no postgres.
docker exec -it id bash 

2.1 Caso não tenha o id:

docker ps

Grafico

2.2 Observe o nome da imagem que deve ser agenda_web. Você deve copiar o numero da coluna CONTAINER_ID. Depois voltar no passo 2 para conectar.

  1. Migração dos dados:
cd agenda/ 
python manage.py migrate
python manage.py createsuperuser 

migrate_and_createsuperuser

Agora estamos pronto...

Autorização


Foi adicionado autorização com token em todas as rotas como plus. Então deve se solicitar o token confome requisição abaixo para utilizar.

POST {{server_base}}/token/
Content-Type: application/json

{
    "username": "greg",
    "password": "123"
}

Detalhe: O campo username e password são informações de login que criou no comando de createsuperuser.

Antes de mais nada existe um arquivo de testes dentro de agenda/playground chamado test.http. Ele é os verbos de GET POST PUT e DELETE para todas entidades desse projeto. Mas ainda sim vamos comentar algumas coisas.

test.http

O test.http é usado junto com vs code assim consegue ter um cliente rest no ambiente de desenvolvimento. Veja abaixo o icone da extenção

test.http

Veja também como fica no vs code os test.http aberto para uso

test.http

1. O usuário pode marcar uma consulta

Grafico

1.1. Não deve ser possível marcar consultas para um dia e horário não disponível

Grafico Grafico

1.2. Não deve ser possível marcar consultas para dia e horário passados

Grafico

Como ficou as validações anteriores em codigo:

Grafico

2. O usuário pode desmarcar uma consulta

Grafico

2.1. Não deve ser possível desmarcar uma consulta que já aconteceu

Grafico

Veja também o codigo de validação

Grafico

3. O usuário pode visualizar as todas as consultas marcadas que ainda não aconteceram(Isso usando o filtro, caso quiera)

Grafico

4. O gestor da clínica pode cadastrar um médico

Grafico

4.1 Caso exista um CRM já registrado ele vai apresentar erro

Grafico

5. O gestor da clínica pode criar a agenda do médico para cada dia

Grafico

Um pouco mais...

O que vamos ver aqui?

1. Criação de cadastro simples.

2. Consulta de cadastro simples.

3. Conexão com banco de dados.

4. Migração de modelos de tabelas. (Veja o histórico do github)

5. Esboço de testes unitários.

Requisito para rodar projeto

docker e docker-compose

Historico de desenvolvimento:

Grafico

Admin do django

Primeiro faça o login para entrar no admin django

admin django

Tela de login no adm:

Grafico

Testes unitários(não implementado):

Grafico

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published