Este projeto foi criado por 4 alunos que frequentam o Blekinge Institute of Technology em programação web. Recebemos a tarefa de criar um sistema para uma empresa de scooters onde criaríamos, entre outras coisas, uma aplicação web adaptada ao mobile para o cliente, interface web administrativa, um programa de simulação para as scooters elétricas, um programa de inteligência na bicicleta e uma API Rest que distribui e recupera informações de todo o sistema e armazena as informações em um banco de dados.
O Projeto é criado por:
A empresa "Svenska Elsparkcyklar AB" necessita de um sistema que gerencie o aluguel de scooters elétricas nas cidades suecas. A empresa atua em 3 cidades diferentes e planeja expandir para mais cidades com o apoio de um novo sistema de dados.
O sistema de dados compreende as seguintes partes:
Além disso, está incluída uma opção para simular todo o funcionamento do sistema para poder testar e verificar o funcionamento do sistema.
.env:
#---------------------------------- General ----------------------------------
# -> Configs
API_TOKEN=["API TOKENS"]
JWT_SECRET="JWT Sercret Code"
# Database Location (MongoDB)
DBURI="mongodb://mongodb_container:27017"
#---------------------------------- Dummy Generator ----------------------------------
# -> Configs
CREATE_USER=100
CREATE_PREPAID=100
#---------------------------------- Scooter ----------------------------------
# -> Configs
GEOAPIFY_KEY="Geoapify API Key"
NUMBER_OF_SCOOTERS=50
UPDATE_FREQUENCY_MILLISECONDS=1000
BATTERY_DEPLETION_RATE=0.0005
SIMULATION_CITY=Karlskrona
SIMULATION_ROUTE_PADDING=10
#"DROP ZONE" of scooters
#KARLSKRONA
SIMULATION_MAX_LAT="56.166217"
SIMULATION_MIN_LAT="56.158594"
SIMULATION_MAX_LON="15.593868"
SIMULATION_MIN_LON="15.583096"
#SIMULATION
SIMULATION_EMAIL="The Simulator Account Email"
SIMULATION_PASSWORD="Password to the Simulator Account"
#-------------- REST API URLS ------------------------------
API_URL=http://URL:8393/v1
#---------------------------------- REST API ----------------------------------
# Localhost URL
GOOGLE_CALLBACK_URL="http://"URL-TO-REST-API":8393/v1/auth/google/callback"
GOOGLE_SUCCESS_URL="http://"URL-TO-WEBB-CLIENT":3000/login/google/success"
GOOGLE_FAILURE_URL="http://"URL-TO-WEBB-CLIENT":3000/login/google/failure"
# -> Configs
REST_API_PORT=8393
GOOGLE_CLIENT_ID="Google Client ID"
GOOGLE_CLIENT_SECRET="Google Client Secret Code"
COOKIE_KEY="Cookie Secret Code"
CREATE_SINGLE_PREPAID=2
API_CLUSTER=false
#---------------------------------- REACT ----------------------------------
#SparkRentals
REACT_APP_API_URL="http://"URL-TO-REST-API":8393/v1"
# -> Configs
REACT_APP_REST_API_KEY="React Admin API KEY"
REACT_APP_MAP_UPDATE_INTERVAL_BOOLEAN=1
REACT_APP_MAP_UPDATE_INTERVAL=1000
PORT=3000
#---------------------------------- REACT NATIVE ----------------------------------
API_KEY="Mobile API KEY"
Bifurque/baixe o mapa SparkRentals
Crie o arquivo .env e insira as variáveis de ambiente e altere as entradas.
docker compor
Aplicativo móvel Para usar o aplicativo móvel você precisa escanear o código QR ou inserir o link no celular (é necessário ter o aplicativo expo). O link pode ser encontrado no terminal ao executar o aplicativo móvel.
Painel de administração Para usar o painel de administração: http://localhost:3000 caso contrário, verifique a porta no arquivo docker compose.
Simulador de Scooter Para usar o Simulador de Scooter você precisa seguir os passos em: Simulador de Scooter.
API REST Para usar a API REST: http://localhost:8393/v1/
O Data Generator Auto carrega quando o docker compose está em execução. Pode ser executado novamente seguindo os passos em: Gerador de Dados.
Cliente Web Para usar o cliente webb: http://localhost:3000 caso contrário, verifique a porta no arquivo docker compose.
Aplicativo móvel
Painel de administração
Simulador de scooter
API REST
Cliente Web