A EatExpress é um sistema de entrega de comida entre os restaurantes registados na plataforma e os utilizadores da sua aplicação. Quando um utilizador acede à aplicação, este escolhe o restaurante e o prato que quer, e este é entregue no local onde o utilizador se encontra por um estafeta que utiliza o seu próprio meio de transporte para lá chegar (a pé, bicicleta, mota, carro etc).
Neste projeto procuramos um sistema para gerar os percursos mais rápidos, entre os restaurantes e os clientes, para os estafetas. Considere inicialmente que só existe um estafeta a trabalhar para a plataforma. Posteriormente, considere a adição de mais estafetas. Nesta fase posterior, considere usar estafetas com veículos mais rápidos para percursos de longa distância, e maiores para grandes encomendas.
Algumas vezes, obras nas vias públicas podem fazer com que certas zonas tornem-se inacessíveis, inviabilizando o acesso às moradas de alguns restaurantes e utilizadores. Avalie a conectividade do grafo, a fim de identificar pontos de recolha e de entrega com pouca acessibilidade.
Considere a possibilidade de utilizar mapas reais, extraídos do OpenStreetMaps (www.openstreetmap.org) e coordenadas geográficas das moradas e do centro de apoio do serviço expresso, na implementação desta aplicação.
1ª Entrega: Especificação e Formalização - 24 de Abril (até às 24:00) 2ª Entrega: Implementação - 22 de Maio (até às 24:00)
O relatório, a ser entregue em formato PDF, deverá incluir:
- Identificação do trabalho e do grupo: título do trabalho, a identificação do grupo e dos seus elementos (nome, número, email), e data;
- Descrição do tema a ser implementado;
- Identificação e formalização do problema, em termos de dados de entrada, dados de saída, restrições e função objetivo;
- Perspectiva de solução, com identificação das técnicas de concepção e os principais algoritmos a serem considerados para implementação na segunda parte;
- Identificação dos casos de utilização a serem suportados, e respectivas funcionalidades a serem implementadas;
- Conclusão do relatório, com análise e principais considerações, e esforço dedicado por cada elemento do grupo (incluindo tarefas realizadas);
Sempre que necessário, citar e fornecer as referências da bibliografia utilizada.