Boa tarde.
O projeto é bem interessante, me lembrou de um episodio de Sherlock Holmes(Elementary), risos.
Com as APIs de GeoLocalização do Google Maps, não é um sistema difícil de se fazer, apenas é preciso de cuidado para ser prático e rápido.
Listo abaixo as funcionalidades previstas em minha proposta:
- Central Web (PHP 5.3+ com MySQL)
- Login de Administradores
- Login de Empresas
- Funcionalidade "Esqueci minha Senha"
- Cadastro/Pesquisa de Empresas
- Cadastro/Pesquisa de Usuários
- Interface de Acompanhamento para Administradores
- Interface de Acompanhamento para Empresas (imagino que o responsável pela empresa pode ver os status de seus clientes)
- Consulta de Histórico de Localização ("refazer passos")
App Android (Android 4+):
- Interface de Login
- Interface com o próximo status
- Serviço background de envio de status para a Central
Um item que me preocupa um pouco é armazenar o histórico das localizações, pelo fato de aumentar rapidamente o tamanho do banco de dados.
Por exemplo, supondo 1000 usuários ativos 8 horas por dias, apenas de histórico a base aumentaria quase 23MB por dia, ou seja, mais de 8GB por ano,
Portanto, prevendo bastante usuários por bastante tempo, o ideal é permitir consulta de histórico apenas de períodos recentes. Assim utilizamos duas base de dados, uma atual e uma de histórico antigo, mantendo uma boa performance do sistema ao logo do tempo.
Caso tenha interesse, estou a disposição para conversamos.
Atenciosamente,
Alexandre Monteiro.