Sobre este projeto
it-programming / mobile-development
Aberto
Contexto Geral do Projeto
Tema e Escopo: Consiste em um Aplicativo de Força de Venda. 1. Serão necessárias as seguintes Activity no aplicativo: a. Login (Tela de Entrada e Validação do Usuário) b. Cadastro de Usuários (Tela de Cadastro do Usuário) c. Cadastro de Clientes (Tela de Cadastro do Cliente) d. Cadastro de Produtos (Tela de Cadastro do Produto) e. Cadastro de Pedidos (Tela de Cadastro do Pedido) f. Tela de Sincronia de Dados (Tela onde será possível enviar e receber dados do servidor) g. Tela de Configuração (Tela de configuração de dados do servidor) * Todas das “Tela de Cadastro” devem ter as opções de lista os registros, incluir, editar e excluir. 2. Dados das Entidades, o sistema deve poder gravar todos os campos das entidades Usuário ▪ ID (Código interno do Usuário) * ▪ Nome * ▪ Senha * Cliente ▪ ID (Código interno do cliente) * ▪ Nome * ▪ Tipo (F - Física / J - Jurídica) * ▪ cpf/cnpj * ▪ e-mail ▪ telefone ▪ cep ▪ endereço ▪ bairro ▪ cidade ▪ uf produto ▪ id (código interno do produto) * ▪ nome * ▪ código de barra ▪ unidade (un, cx, kg, lt, ml) * ▪ qtd. Estoque * ▪ Custo ▪ Preço de Venda * ▪ Status (0 - Ativo / 1 - inativo) * Pedido ▪ ID (Código interno do Pedido) * ▪ ID do Cliente * ▪ ID do Usuário * ▪ Total do Pedido * ▪ Data de Criação * ▪ Lista de Itens * ▪ Lista de Pagamento Pedido Item ▪ ID do Pedido * ▪ ID (Código interno do Item) * ▪ ID do Produto * ▪ Quantidade * ▪ Total do Item (Quantidade*Preço) * Pedido Pagamento ▪ ID do Pedido * ▪ ID (Código interno do Pagamento) * ▪ Valor Pagamento * Configuração ▪ Link Servidor ▪ Porta Servidor 3. Todas as listagens devem utilizar o componente RecyclerView. 4. A tela de Pedido deve permitir a inclusão e exclusão de Itens e de Pagamentos. A tela de Pedido deve manter os totais calculados sempre que for incluído ou excluído um item. 5. Na tela de Pedido deve validar as informações para manter consistência: a. O Somatório dos pagamentos não pode ser diferente do Somatório dos Totais dos Itens. b. Para ser possível gravar um pedido ele deve possuir no mínimo 1 item e 1 Pagamento. 6. Os dados devem ser gravados em Banco de Dados local em Sqlite. Cada Entidade deve possuir sua tabela. 7. Cada Tabela deve possuir duas colunas de controle: a. Data da Última Alteração, todas as vezes que os dados forem alterados deve atualizar a “Data da Última Alteração”. Em casos de registros novos devem permanecer vazio até que sejam sincronizados com o servidor b. Registro Excluído, quando o registro for excluído, esse “FLAG” deve ser marcado. Os registros só serão excluídos do banco após os dados sejam sincronizados com o servidor (deletado do servidor). Os registros marcados como excluído não devem aparecer nas listas dos cadastros. 8. A Tela de Sincronia de Dados deve buscar os Dados do Servidor e atualizar as Tabelas com os dados alterados com datas maiores que as registradas nas tabelas. (Método GET) • localhost:8080/usuarios • localhost:8080/clientes • localhost:8080/produtos 9. A Tela de Sincronia de Dados deve enviar os registros para o Servidor: a. Deve enviar os novos Registros para o Servidor e atualizar as Datas da Última Alteração nos registros. (Método POST) • localhost:8080/usuarios • localhost:8080/clientes • localhost:8080/produtos • localhost:8080/pedidos b. Os Registros que foram excluídos no servidor devem ser excluídos localmente e os que foram excluídos localmente (marcados como excluído) dever ser excluídos no servidor e depois localmente. (Método DELETE) 10. Na Tela de Configuração deve ter uma opção para ativar um serviço que sincroniza os dados com o servidor. Essa opção deve poder ligar e desligar o serviço.
Categoria TI e Programação
Subcategoria Programação de Apps para Android, iOS e outros
Qual é o alcance do projeto? Criar um novo aplicativo
Isso é um projeto ou uma posição de trabalho? Um projeto
Tenho, atualmente Eu tenho especificações
Disponibilidade requerida Conforme necessário
Plataformas exigidas Android
Eu preciso Criar um app
Tipo de aplicativo Outro
Precisa de back-end Sim
Gateway de pagamento Não
Prazo de Entrega: Não estabelecido
Habilidades necessárias