Tecnologias | Começando | Uso | Licença
-
Etapa ADMIN
- Criar o admin para os models do app
imovel
- Neste admin, faça:
- Um filtro por tipo de imovel
- Busca pelo nome do imovel
- Criar campos para
criado_em
,modificado_em
no model de imovel. - Adicionar no admin uma formar de importar e exportar os dados de cada admin por planilha
- Procure um projeto para lhe ajudar, não faça do zero
- Criar o admin para os models do app
-
Etapa LOCALIZACAO
- Adicionar uma nova aplicação chamada
localizacao
- Com o seguinte model:
- regiao (slug, nome, estado)
- cidade (slug, nome, estado, regiao)
- Adicionar uma relação do
imovel
comregiao
- Adiciona-los no Admin
- Adiciona-los na API
- Adicionar uma nova aplicação chamada
-
Etapa GEOLOCALIZACAO
- Adicionar um campo de
posicao
em propriedade - Adicionar no admin uma forma de cadastrar esse ponto (dica:
django-leaflet
) - Crie um endpoint que retorne os imóveis mais próximos de um ponto (lat, long)
- Ordenar estes pontos pela distancia em linha reta do ponto (lat, long) informado.
- Adicionar um campo de
-
Etapa INFRA
- Criar o docker para o projeto
- Adicionar cache para o projeto (dica:
django-cacheops
) - Preparar o docker-compose para rodar todo o projeto apenas executando
docker-compose up -d
-
Etapa DOCUMENTACAO
- Crie um arquivo de
CHANGELOG.md
explicando o que foi feito em cada etapa executada deixando claro qual foi a ordem de execução de cada tarefa. - Marque no readme do projeto que tópicos foram feito no
README.md
, e explique o motivo de não ter conseguido fazer alguma etapa. - Explique no README o que foi feito além do que foi solicitado.
- Crie um arquivo de
- Estrutura do projeto mais simplificada.
- Autenticação para acesso aos endpoins.
- Endpoint para criação de usuários.
- Inserção do campo
slug
de forma automática. - Criação de testes com fixtures.
Este projeto foi desenvolvido com as seguintes tecnologias:
- Clone o repositório:
git clone https://github.com/WesGtoX/agro-digital.git
- Defina uma
SECRET_KEY
em.env
:
cp .env.sample .env
- Construção
make build
- Execução:
make run
- Execução dos testes:
make test
Para ter acesso a todos os endpoints, exceto o de de criação de usuário, precisa ser um usuário autenticado.
Método | Endpoint | Descrição |
---|---|---|
POST |
/api-token-auth/ |
Autenticação do Usuário. |
Exemplo de retorno:
{"token": "0a405e7b82de0675d12b5b77a9648e0596f0d161"}
Método | Endpoint | Descrição |
---|---|---|
POST |
/usuarios/ |
Insere um novo usuário. |
Método | Regiao | Descrição |
---|---|---|
GET |
/propriedades/ |
Lista todas as propriedades cadastradas. |
GET |
/propriedades?dist=distancia&point=latitude,longitude |
Lista as propriedades próximas de um ponto determinado. |
GET |
/propriedades/:id |
Mostra o detalhe de uma propriedade específica. |
Exemplo:
/propriedades?dist=2000&point=-21.13625,-48.00624
Método | Endpoint | Descrição |
---|---|---|
POST |
/regioes/ |
Insere uma região. |
GET |
/regioes/ |
Lista todas as regiões cadastradas. |
GET |
/regioes/:id |
Mostra o detalhe de uma região específica. |
PUT |
/regioes/:id |
Atualiza os dados de uma região específica. |
DELETE |
/regioes/:id |
Remove uma região específica. |
Método | Endpoint | Descrição |
---|---|---|
POST |
/cidades/ |
Insere uma cidade. |
GET |
/cidades/ |
Lista todos as cidades cadastradas. |
GET |
/cidades/:id |
Mostra o detalhe de uma cidade específica. |
PUT |
/cidades/:id |
Atualiza os dados de uma cidade específica. |
DELETE |
/cidades/:id |
Remove uma cidade específica. |
Distribuído sob a Licença MIT. Consulte LICENSE para mais informações.
Feito com ♥ por Wesley Mendes 👋