Skip to content

vicentiin/projeto-mobile

Repository files navigation

🍽️ Sistema de Gerenciamento de Pedidos - PWA

Uma aplicação web progressiva moderna para otimizar o fluxo de pedidos em estabelecimentos gastronômicos.


📋 Sobre o Projeto

Este é um projeto acadêmico desenvolvido como trabalho prático da disciplina de Desenvolvimento Mobile no sexto período da Unilassale. A aplicação implementa um Sistema de Gerenciamento de Pedidos com funcionalidades robustas para garçons, gerenciadores de produtos e controle de conta.

O projeto utiliza a arquitetura MVC (Model-View-Controller) com padrões modernos de desenvolvimento web, incluindo suporte para Progressive Web App (PWA) e Banco de dados NoSQL Google Firebase.


🎯 Funcionalidades Principais

👥 Gestão de Garçons

  • Cadastro e gerenciamento de garçons
  • Acompanhamento de desempenho
  • Relatórios de atendimento

🍝 Gestão de Produtos

  • Catálogo completo de produtos
  • Gerenciamento de cardápio
  • Controle de disponibilidade

📦 Gestão de Pedidos

  • Criação e rastreamento de pedidos
  • Atualização de status em tempo real
  • Histórico de pedidos

💰 Controle de Contas

  • Gestão de contas dos clientes
  • Cálculo automático de totais
  • Histórico financeiro

🏗️ Arquitetura do Projeto

Estrutura de Pastas

projeto-1/
├── 📁 dao/                    # Camada de Acesso a Dados
│   ├── DaoGarcom.js          # Operações com garçons
│   ├── DaoPedido.js          # Operações com pedidos
│   └── DaoProduto.js         # Operações com produtos
│
├── 📁 models/                # Camada de Modelos
│   ├── Conta.js              # Modelo de conta
│   ├── Garcom.js             # Modelo de garçom
│   ├── ModelError.js         # Modelo de erro
│   ├── Pedido.js             # Modelo de pedido
│   └── Produto.js            # Modelo de produto
│
├── 📁 view/                  # Camada de Apresentação
│   ├── ContaViewManager.js   # Gerenciador de visão de contas
│   ├── GarcomViewManager.js  # Gerenciador de visão de garçons
│   ├── PedidoViewManager.js  # Gerenciador de visão de pedidos
│   ├── ProdutoViewManager.js # Gerenciador de visão de produtos
│   └── UsuarioViewManager.js # Gerenciador de visão de usuários
│
├── 📁 images/                # Recursos de imagem
│   └── icons/                # Ícones da aplicação
│
├── 📄 app.js                 # Arquivo principal da aplicação
├── 📄 index.html             # Interface principal
├── 📄 styles.css             # Estilização
├── 📄 service-worker.js      # Service Worker para PWA
├── 📄 manifest.json          # Manifesto PWA
├── 📄 regras.json            # Configurações e regras
└── 📄 package.json           # Dependências do projeto

🛠️ Tecnologias Utilizadas

Tecnologia Descrição
HTML5 Markup semântico
CSS3 Estilização responsiva
JavaScript (Vanilla) Lógica da aplicação
Service Worker Funcionalidade offline
IndexedDB/LocalStorage Persistência de dados
PWA Experiência nativa na web

📱 Padrões de Projeto

  • MVC: Separação clara entre Modelos, Visões e Controladores
  • DAO: Data Access Object para abstração de persistência
  • View Manager: Gerenciadores centralizados de interface
  • Progressive Enhancement: Funcionalidade progressiva

📝 Funcionalidades por Módulo

Garçom (GarcomViewManager.js)

  • ✅ Registrar novo garçom
  • ✅ Atualizar informações
  • ✅ Listar garçons
  • ✅ Remover garçom

Produtos (ProdutoViewManager.js)

  • ✅ Adicionar produtos
  • ✅ Editar cardápio
  • ✅ Categorizar produtos
  • ✅ Gerenciar preços

Pedidos (PedidoViewManager.js)

  • ✅ Criar novo pedido
  • ✅ Adicionar itens
  • ✅ Atualizar status
  • ✅ Cancelar pedidos

Contas (ContaViewManager.js)

  • ✅ Calcular totais
  • ✅ Aplicar descontos
  • ✅ Gerar recibos
  • ✅ Histórico de transações

💾 Persistência de Dados

A aplicação utiliza:

  • LocalStorage: Para configurações e dados leves
  • IndexedDB: Para armazenamento robusto de pedidos e contas
  • Service Worker: Para sincronização offline

📦 Build e Distribuição

O projeto inclui um arquivo .aab (Pedidos.aab) para possível distribuição em plataformas mobile.


👨‍💻 Autor

Projeto Acadêmico
Unilassale - Sexto Período
Disciplina: Desenvolvimento Mobile (P1)
Alunos: Carlos Filipe Vicente Miranda e Marianna Vigoritto.


📄 Licença

Este projeto foi desenvolvido para fins educacionais.


🤝 Contribuições

Contribuições são bem-vindas! Sinta-se à vontade para:

  • 🐛 Reportar bugs
  • 💡 Sugerir melhorias
  • 🔧 Enviar pull requests

About

📚 Projeto acadêmico de gerenciamento de um pedidos desenvolvido em dupla a fim de conclusão de disciplina (Desenvolvimento Mobile).

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors