Criando um aplicativo para deslocamento urbano

Olá pessoal. Estou iniciando um programa de transporte urbano e gostaria de algumas dicas. Vou me concentrar em alguns pontos. Bem o primeiro é o seguinte. Criar um banco de dados e tabelas, utilizando o Java. De início não colocaremos GPS.

Agradeço a ajuda !

Acho bastante complicado desenvolver um sistema que depende de coordenadas e posicionamento sem utilizar gps. Enfim, é uma opção que eu não seguiria (afinal, se você pegar uma API como a do google ou open maps, isso já vem pronto.

1 curtida

Olá Darlan! Obrigado por seu feed back. Complicado por quê ?

Qual sua dúvida?

Como você vai definir uma rota? Apenas pelo nome das ruas? Ou a ideia é diferente e você não vai dar alternativas?

Ah ! Entendi. Não haverá isso. O motorista espera a chamada e ponto. Independente de onde ele estiver. Como estou escrevendo o fluxograma. Há um momento em que, tanto os usuários como motoristas preenchem o banco de dados. O usuário, ao clicar no botão ENCONTRAR, dispara um software que encontra o motorista e “trava” com esse a relação de tráfego!

Criar um banco de dados e tabelas, utilizando o Java. De início não colocaremos GPS

Isso é um universo, fale qual sua dúvida inicial. Já fez algum sistema?

Bom… Já que perguntou! Já iniciei sim, em PHP. O problema é que não encontro uma forma de criar um software que liga o conteúdo dos usuarios aos motoristas, de forma a gerar um tráfego. O primeiro problema é o Dropdown Menu… Depois ler e escrever em Database. Coisas do tipo Ler, Escrever, Atualizar e Deletar.

Seria bom estudar sobre modelagem de dados e banco de dados antes de iniciar um projeto. Ou faça parceria com algum profissional, para que seu produto dê certo.

1 curtida

Tem algum livro que recomenda ?

Atualmente estou por fora. Por hora dá uma lida em conteúdos pesquisando na internet. Exemplo:


Se pra você o importante é o produto, recomendo que faça parceria com alguém mais experiente, vai ganhar experiencia rápido e acelerar o desenvolvimento do produto.

Então não é um software de deslocamento urbano. É qualquer coisa, menos isso.
Um sistema que gerencia o deslocamento urbano deve levar em consideração uma série de fatores, dentre os quais:

  • Distância entre dois pontos
  • Percurso entre dois ou mais pontos
  • Velocidade das vias (a velocidade nominal, aquela indicada por sinalização e a velocidade real, aquela que a via oferece, por exemplo, não adianta a via ter velocidade máxima de 60 Km/h se é toda esburacada e o máximo que um veículo pode atingir é 20 Km/h)
  • Melhor trajeto, de acordo com o horário

Isso tudo depende de coordenadas geográficas (as famosas latitude e longitude) e de reverse geocoding (revgeo) que, nada mais é, que a conversão de um ponto (combinação entre latitude e longitude) em um endereço (exato ou aproximado) e vice-versa.
Como eu sei disso? Trabalhei por 3 anos numa empresa referência em monitoramento, rastreamento e telemetria veicular de veículos de pequeno, médio, grande e muito grande porte. Um dos projetos que nunca saíram do papel era, justamente, um tipo de gerenciador de deslocamento, cujo mote seria dar aos clientes a melhor rota, fugindo de áreas de risco (aquelas com maior incidência de roubos/furtos de cargas e/ou veículos), trânsito e garantir o menor tempo de deslocamento (aí o entrave era o algoritmo do caixeiro viajante, mas isso são outros 500)
Mesmo com o uso da API do google, não havia como garantir que ofereceríamos a melhor solução. E estamos falando de uma empresa com uma base de dados gigantesca, alimentada nos últimos 19 anos.
Outra coisa, qual banco de dados pretende usar? Como vai referenciar os tais pontos? Latitude e longitude em colunas separadas? Sabia que existem tipos de dados que já trabalham sobre estes tipos de dados? E que facilitam na busca por coisas como distância entre pontos?

Olá Darlan ! Vamos deixar no qualquer coisa? Bom, um fato é real. Haverá um motorista esperando ser encontrado, pois está LIVRE para sê-lo e, haverão usuários desejando encontrar. Correto? A ideia principal é unir o que desejar ao que espera; não importando onde este que espera estiver ! MySQL desejo usar, pois tenho o WampServer. Já estou trabalhando no CADASTRO e no LOGIN, com a sua verificação !!! Pelo menos estou tentando em PHP … Estou iniciando o Java.
Bem, se puder me ajudar ! Ah! Parabéns por ter esse conhecimento todo. Coisas boas acontecem !!!

Qual a minha preocupação com relação à questão do uso ou não de GPS?
É que, a partir de coordenadas de latitude e longitude, fica extremamente mais fácil calcular e identificar o motorista mais próximo.
Qual nível de assertividade e quão complexo teu sistema será por ignorar a tecnologia que facilita isso?
São apenas estas ponderações que você deve fazer. Se já está usando o MySQL por comodidade, seria, então, muito mais cômodo chamar a API do Google, por exemplo, e perguntar que rua, número, cep, etc estão associados ao ponto de lat x e lng y. Só isso.

Certo Darlan ! Vamos pensar assim, em primeiro lugar, uma lista de motoristas está ávidos por serem escolhidos, neste primeiro momento, ele, o motorista estará em uma base de dados. Esquece, por enquanto as coordenadas LAT/LON. Pense como eu! Eu tenho uma lista com motoristas livres e estes vão ser escolhidos randomicamente, ficando ligados a um usuário, até o momento do NÃO ACEITA, ou ENTREGUE.
Você disse algo interessante : " Qual nível de assertividade e quão complexo teu sistema será por ignorar a tecnologia que facilita isso? " Ok ! A tecnologia que dá a Lat/Lon eu já andei buscando em livros. O que preciso no momento é ter a certeza que o #345_usuário vai encontrar (Por um software interposto ) o #1232_moto e, esses vão ficar felizes. Entendeu? Quanto ao Google, não quero nem passar perto da tecnologia dele. Nada de mapa !!! Quero criar outra !
Obrigado por sua preciosa e bondosa atenção. Att: Tony_Stark

A sugestão do google foi um exemplo, pode optar por open maps ou o que for.
Veja, você tem o objetivo de fazer o que o uber faz? Conectar um dos motoristas próximos a um cliente, certo? Se for isso, invariavelmente, você precisa de informações de revgeo. Caso contrário, arrisca colocar o motorista de um lado do rio e o cliente do outro. Como vai solucionar isso?
Agora, se a intenção é, apenas, conectar um motorista e um cliente qualquer, a qualquer distância e a qualquer tempo despendido para isso, então ok, go ahead!
Aliás, como pretende resolver o problema do caixeiro viajante? Ou só vai permitir que o cliente selecione apenas um único ponto de chegada?

Se tem conhecimento em PHP vai nesse mesmo, recomendo utilizar um Framework como o Laravel, pois lhe auxiliará em muito na construção da sua API e modelagem do DB, e trabalha muito bem com MySQL que vc quer usar.

Se não conhece o framework lhe recomendo os cursos da EspecializaTi eu quando aprendi fui primeiro lá depois li a documentação, me deu uma base bem sólida.

Acho que eles até tem um curso de APIs com Laravel, mas pago se não estou enganado.

Isso se chama webservice “API”, resumidamente, é uma aplicação rodando em um servidor que recebe e envia requisições HTTP aos APPs, e este que faz as consultas e grava dados no DB

Mas isso tenho que concordar co o @darlan_machado o que vc quer fazer não é um app de deslocamento urbano