/SpotGeoAPI

Primary LanguageTypeScriptMIT LicenseMIT

MIT License

SpotGeoApi

Status : desenvolvendo

Sobre o projeto

O projeto SpotGeoAPI é uma API para um sistema de geografico, com usuarios, lugares geograficos e areas geograficas.
O projeto foi feito em node com typescript, usando PostgresSql com a extensão PostGis para trabalhar com os dados geograficos do projeto. Caso não conheça acesse POSTGIS

Apps

✔️ Users (./users/) ✔️ Places (./places/) ✔️ Areas (./areas/)

ROTAS:

USERS:

  • POST (./users/login): Authenticar usuario.

PLACES:

  • GET (./places/): Listar os lugares registrados.

  • GET (./places/:id): Listar o lugar especificado por id.

  • GET (./places/:id1/distanceto/:id2): Listar a distancia entre o lugar especificado por id1, com o lugar especificado por id2.

  • GET (./places/:idPlace/insideof/:idArea): Listar se o lugar especificado por idPlace, esta dentro de uma area especificada por idArea.

  • POST (./places/): Criar um lugar e persistir no banco.

  • PUT (./places/:id): Editar o lugar especifica por id.

  • DELETE (./places/:id): Deletar o lugar especificado por id.

AREAS

  • GET (./areas/): Listar todas as areas registradas.

  • GET (./areas/:id): Listar a area especificada por id.

  • GET (./areas/:id/places): Listar todos os lugares que estão contidos na area especificada por id.

  • POST (./areas/): Criar uma area e persistir no banco.

  • PUT (./areas/:id) Editar a area especificada por id.

  • DELETE (./areas/:id) Deletar a area especificada por id.

SEARCH

  • GET (./search?radius=&latitude=&longitude=): Listar os lugares e areas que estão dentro do raio de RADIUS do centro, sendo o ponto definido com latitude de LATITUDE, e longitude de LONGITUDE.

Requisitos

Iniciando aplicação

  1. Clone o repositorio.
  2. Instale as dependencias:
  npm install
  1. Crie um arquivo .env na raiz da aplicação e popule, seguindo o .env.example .
  2. Execute:
  npm run build
  1. Rode o seguinte script para criar um banco de dados para aplicação:
  npm run createdb
  1. Realiza a migração com:
  npm run migrate
  1. A aplicação esta pronta para rodar:
  • caso queira rodar, execute:
  npm run start
  • caso queira executar os testes:
  npm run test:integration

Observação: Caso queira rodar uma segunda vez os testes, verifique em rodar npm run cleandb, e rodar o migrate novamente.