A entrega consiste em um sistema que gerencia pedidos de itens de cantina, como salgados, sucos e refrigerantes. A cantina pode ilustrar seus produtos com fotos da galeria ou da câmera. E os clientes podem reservar seus pedidos com horário para retirada e tolerância de atraso.
Usuário capaz de montar um pedido com n itens e marcar horário de retirada com tolerância de atraso de até 30 minutos. Deve também ser capaz de escolher de qual fornecedor quer consumir dentre uma lista de fornecedores.
Usuário que cria uma cantina para atender seus clientes. A cantina deverá dispor de um catálogo com os itens disponíveis, os quais possuem preço, descrição e, opcionalmente, uma ilustração. A ilustração pode ser da galeria ou tirada diretamente da câmera.
O app deve permitir o cadastro de usuário cliente diante do fornecimento dos dados: CPF, nome, sobrenome, e-mail e senha.
O app deve permitir o cadastro de usuário fornecedor diantofornecimento dos dados: CPF, nome, sobrenome, nome e localização da cantina, e-mail e senha.
O app não deve permitir o acesso e navegação de usuários não autenticados.
O app deve permitir o acesso de usuários cadastrados mediante email e senha existentes.
O app deve listar todos os fornecedores para um cliente.
O cliente deve ser capaz de ver o catálogo da cantina selecionada dentre as disponíveis na lista.
O cliente deve ser capaz de escolher o item do catálogo da cantina, mudar sua quantidade e adicionar no pedido.
O cliente deve ser capaz de fazer o pedido para a cantina, definindo quando irá buscar e uma tolerância de atraso de até 30 minutos.
O cliente pode cancelar um pedido desde que falte mais de 1 hora para buscá-lo.
O fornecedor deve ser capaz de adicionar um item com um nome, preço, descrição, quantidade e, opcionalmente, uma ilustração, que pode ser uma foto da galeria ou diretamente da câmera do celular.
O app deve mostrar para o cliente quantas unidades de um item do catálogo estão disponíveis.
O app deve impedir que o cliente insira um item cujo quantidade seja 0 em um pedido.
O fornecedor deve ser capaz de remover items do catálogo.
O fornecedor deve ser capaz de editar um item do catálogo, alterando todos os dados que o item possui.
O fornecedor deve poder negar o pedido de um cliente.
O fornecedor deve poder aceitar o pedido de um cliente.
O app deve notificar o cliente de assim que o status (negado ou aceito) do seu pedido for definido.
O app deve permitir que o usuário finalize o pedido, marcando-o como entregue ou não.
O app deve permitir que os usuários saiam da aplicação.