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.
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.
T
Tony_Stark
Olá Darlan! Obrigado por seu feed back. Complicado por quê ?
javaflex
Qual sua dúvida?
darlan_machado
Como você vai definir uma rota? Apenas pelo nome das ruas? Ou a ideia é diferente e você não vai dar alternativas?
T
Tony_Stark
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!
T
Tony_Stark
Criar um banco de dados e tabelas, utilizando o Java. De início não colocaremos GPS
javaflex
Isso é um universo, fale qual sua dúvida inicial. Já fez algum sistema?
T
Tony_Stark
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.
javaflex1 like
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.
T
Tony_Stark
Tem algum livro que recomenda ?
javaflex
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.
darlan_machado
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?
T
Tony_Stark
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 !!!
darlan_machado
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.
T
Tony_Stark
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
darlan_machado
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?
mate
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.
mate
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
mate
Mas isso tenho que concordar co o @darlan_machado o que vc quer fazer não é um app de deslocamento urbano
T
Tony_Stark
Mate ! O Laravel então seria uma ferramenta para desenvolver minha API? Existe download? Onde?
Bom, vou então ler o que me disse. Aliás, falou muito bem !
Ai vc tbm já está querendo “comer a sobremesa antes da janta”, primeiro leia, pratique, estude, não existem atalhos.
T
Tony_Stark
No seu entender, o que seria ?
pfk66
Você precisa do GPS pra saber se o usuário encontrou o motorista. Pelo visto vai ser uma app web, por isso não quer usar GPS?
Sinceramente, nativo é o caminho. Aceita que dói menos.
T
Tony_Stark
Oi pfk66 ! O que, para você é uma “(…) app web (…)” ? Poderia me explicar ? Obrigado por sua generosa atenção !
mate
Um app de indicações, ele indica motoristas para passageiros.
Deslocamento urbano tem que ser algo que tente minimizar os problemas do deslocamento urbano, no caso do seu app em muitos casos este iria aumentar os problemas
T
Tony_Stark
Mate ! Como vai? Espero que esteja tudo bem … Bom… Entendo, mas, quais problemas você se refere, uma vez que escreve com tanta propriedade; poderia exemplificar umas cinco situações ? Agradeço .
mate
Imagine uma situação tenho o taxista A na região A e o taxista B na região B
Tenho o passageiro A na região A querendo ir para a B e o passageiro B na região B querendo ir para a A
e entre duas regiões a um engarrafamento
O lógico seria o taxi A pegar o passageiro A, e o taxi B o passageiro B
E isso aconteceria se o App tivesse geolocalização (nem falando de monitoramento de tráfego)
Porém como o seu não tem então ele conecta o taxi A ao passageiro B e o taxi B ao passageiro A
Os taxis terão de enfrentar duas vezes o congestionamento e os passageiros esperando, agora isso vai se somando e somando e vira uma bola de neve
Sendo que o passageiro apenas pegar no google o número do taxi mais próximo teria sido muito mais efetivo que seu App
mate
E o principal que inviabiliza sua ideia (comercialmente falando) é o fato de já existirem apps com serviços similares porém aperfeiçoados, geolocalização, monitoramento de tráfego, nota e depoimento sobre motoristas, etc…
Ai lhe pergunto, por que alguém iria querem usar o seu?
Antes de descartar a ideia da geolocalização, ao menos buscou se informar de como seria feito?
Pois sinceramente, se tivesse visto já como é ridiculamente simples de fazer duvido que teria descartado algo que só iria somar a aplicação.
T
Tony_Stark
Mate ! Em resposta a sua participação que está sendo muito boa, digo. O GPS não está descartado. Tinha um problema com o fluxo de dados, de um software para outro; o que já foi devidamente resolvido enquanto estávamos dialogando. O esquema A e B já foi muito inteligente. Já o havia pensado, mas, naquele momento tráfego difícil era entre um software e outro, como disse, solucionado. Sim! Existem outros softwares rodando, claro! O que faria uma pessoa utilizar o meu e não o deles? Bem, isso ainda é segredo de oficina! Não descartei a ideia da geolocalização. Creio que mais do que ficar colando linhas de programação aqui; meu intento foi dialogar, pois o trabalho duro que fará serei eu. Bom. Darei finalização ao software! Agradeço em muito a sua ajuda e, caso queira nos visitar: TAQUINAREDE . COM . BR
pfk66
App que roda no browser, e portanto sem acesso a recursos do dispositivo, como o GPS.
mate
Com o browser vc consegue uma localização aproximada
mate
E se for o browser rodando no cel vc consegue a localização pelo GPS
mate
pfk66
Não é uma boa idéia, já pensou o motorista dirigindo e ao mesmo tempo tendo que desviar dos anúncios do google que apareceu na hora de autorizar o fornecimento das informações?
Estou brincando mas é sério, o uso do browser pode cabar causando acidentes e mortes.
mate
Da pra usar o cordova e transformar em um app
pfk661 like
Mas porque transformar numa app cordova?
Cordova usa JavaScript, uma linguagem arcaica que as pessoas usam porque são obrigadas, porque o browser é um ambiente fechado. Isso é responsável por Web apps serem desse jeito, pesadas e complexas. Não tem como comparar uma app híbrida em JS com nativo.
mate
Não tem como comparar o desempenho de um app híbrido rodando em uma webview
Pois híbrido JS, react-native ta ai pra provar o contrario
mate
E a questão de ser pesado ou não, antes ter um app pesado que um que tenha que ser acessado no browser
Há pesquisas que demonstram que o usuário não abre o browser pra acessar um serviço no mobile, e sim busca um app que resolva na store
T
Tony_Stark
Inteligente a sua colocação ! O usuário vai clicar no link (ícone) que se liga a internet que roda o aplicativo. Ou seria; o usuário se liga ao ícone que acessa o aplicativo que se liga a internet para produzir o resultado. Qual?
mate
Sinceramente falando, acho que vc deveria estudar mais, entender as tecnologias e como funcionam antes de querer fazer qualquer projeto
Pois ngm é obrigado a saber tudo sobre tudo, mas nessa área conhecer ao menos superficialmente cada tecnologia e estar sempre atualizado as novidades é essêncial
Então sinceramente falando, primeiro de tudo, pesquise e entenda a diferença conceitual entre site, app web e app mobile, a diferença entre webbrowser e webview, além da diferença entre desenvolvimento de browser apps, mobile nativo, hibrido nativo e hibrido webiew
T
Tony_Stark
Muito agradecido Mate ! Estou já em desenvolvimento quanto a funcionabilidade da estrutura tanto em Apps, quanto em browser.
Demais ! Agradeço a sua participação e as dicas .