Projeto desenvolvido a partir do desafio proposto neste repositório.
A aplicação é uma solução que retorna ao usuário informações de tempo e distância de uma rota com dois ou mais pontos de parada, ilustrando no mapa os pontos e a rota informados pelo usuário.
Demonstração do projeto em execução:
- ReactJs - Front-End
- Node.js - Back-End
- PostgreSQL - Database
Mateus Catel | Contato | LinkedIn
Essas instruções fornecerão uma cópia do projeto instalado e funcionando em sua máquina local para fins de desenvolvimento e teste.
O que você será necessário para rodar o projeto.
Linux:
sudo apt install nodejs
Windows (usando o Chocolatey):
cinst nodejs
Outros exemplos podem ser encontrados aqui, ou baixe a versão executável.
npm install -g yarn
Mais informações aqui.
O download e a instalação do PostgreSQL estão disponíveis aqui para variados sistemas operacionais.
Também pode ser utilizado um banco de dados em arquivo (Ex: SQLite).
Faça o download do projeto:
git clone https://github.com/mcatel/Roteirizador
Instalação das dependências:
cd server
yarn install
Crie os arquivos .env e .env.test na raiz do projeto utilizando o exemplo abaixo. Será necessário modificar os parâmetros para a conexão com o seu banco de dados.
Exemplo:
PORT=3333
DB_DIALECT=postgres
DB_HOST=localhost
DB_USER=postgres
DB_PASS=postgres
DB_NAME=router
Para o arquivo .env.test utilize um DB_NAME diferente do utilizado no arquivo .env, pois esse será seu banco de dados de teste.
O atributo DB_STORAGE serve para utilização de bancos de dados em arquivos (Ex: SQLite).
yarn sequelize db:create
yarn sequelize db:migrate
yarn dev
Após isso, a API estará rodando na porta 3333.
Instalação de dependências:
cd web
yarn install
Iniciando a aplicação:
yarn start
Após isso, a aplicação estará rodando na porta 3000.
Para poder visualizar o mapa completo e utilizar o preenchimento automático nos campos de rota, é necessário obter uma API_KEY do Google Maps. Mais informações aqui.
Após isso, deve ser criado um arquivo .env na raíz do projeto, seguindo o exemplo (.env.example)
Crie o arquivo .env na raiz do projeto utilizando o exemplo abaixo. Será necessário modificar os parâmetros para a conexão com o seu servidor.
Exemplo:
REACT_APP_BACKEND_URL_PROD='https://roteirizador.example.com/'
REACT_APP_BACKEND_URL_LOCAL='http://localhost:3333'
REACT_APP_GOOGLE_MAPS_API_KEY='SUA_API_KEY'
Além disso, para poder visualizar o mapa completo e utilizar o preenchimento automático nos campos de rota, é necessário obter uma API_KEY do Google Maps. Mais informações aqui.
Para execução dos testes, primeiramente será necessário criar um novo banco de dados.
Linux:
yarn create_db_test
Windows:
yarn create_db_test_windows
Linux:
yarn test
Windows:
yarn test_windows



