Skip to content

WesGtoX/agro-digital

Repository files navigation

Agro Digital
Agro Digital CI

Tecnologias  |   Começando  |   Uso  |   Licença

GitHub top language GitHub language count GitHub last commit License

Agro Digital

  • 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
  • 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 com regiao
    • Adiciona-los no Admin
    • Adiciona-los na API
  • 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.
  • 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.

Informações adicionais

  • 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.

Tecnologias

Este projeto foi desenvolvido com as seguintes tecnologias:

Começando

Pré-requisitos

Instalação e execução

  1. Clone o repositório:
git clone https://github.com/WesGtoX/agro-digital.git
  1. Defina uma SECRET_KEY em .env:
cp .env.sample .env
  1. Construção
make build
  1. Execução:
make run
  1. Execução dos testes:
make test

Uso

Endpoints

Auth Token

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"}

Usuário

Método Endpoint Descrição
POST /usuarios/ Insere um novo usuário.

Propriedade

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

Regiao

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.

Cidade

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.

Licença

Distribuído sob a Licença MIT. Consulte LICENSE para mais informações.


Feito com ♥ por Wesley Mendes 👋