Aplicativo de lista de compras desenvolvido em .NET MAUI para gerenciamento de produtos e cálculo de gastos.
Este é um aplicativo mobile multiplataforma desenvolvido como atividade prática para a ETEC. O app permite criar, visualizar, editar e remover produtos de uma lista de compras, além de calcular automaticamente o valor total baseado na quantidade e preço unitário de cada item.
- Disciplina: Desenvolvimento de Sistemas III
- Atividade: AulaAgenda 06 - Avaliação DS_3
- Professor: Thiago Henrique Neto
- Data da Avaliação: 14/10/2025
- Menção: MB (Muito Bom)
Feedback do Professor:
"Eduardo, Você implementou o desafio 1 de forma adequada, adicionando o atributo categoria à classe do produto e realizando as adequações necessárias nas Views. At.te"
(Adicione aqui capturas de tela do aplicativo quando disponíveis)
- Gerenciamento Completo de Produtos: Adicione, edite, visualize e remova produtos da lista
- Busca Inteligente: Sistema de pesquisa por descrição de produtos
- Cálculo Automático: Total calculado automaticamente (quantidade × preço)
- Soma Total: Visualize o valor total de todas as compras
- Categorização: Organize produtos por categorias personalizadas
- Persistência de Dados: Todos os dados salvos localmente com SQLite
MauiAppMinhasCompras/
├── Models/
│ └── Produto.cs # Modelo de dados com categoria
├── Views/
│ ├── ListaProduto.xaml # Tela principal com lista
│ ├── NovoProduto.xaml # Tela para adicionar produto
│ └── EditarProduto.xaml # Tela para editar produto
├── Helpers/
│ └── SQLiteDatabaseHelper.cs # Helper para operações no BD
├── Resources/
│ ├── Fonts/ # Fontes customizadas
│ ├── Images/ # Imagens e ícones
│ └── Styles/ # Estilos e cores
├── App.xaml # Configurações globais
└── AppShell.xaml # Navegação shell
- .NET 9.0
- .NET MAUI (Multi-platform App UI)
- SQLite (sqlite-net-pcl 1.9.172)
- XAML para interfaces
- C# para lógica de negócio
- Visual Studio 2022
- ✅ Android (API 21+)
- ✅ iOS (15.0+)
- ✅ Windows (10.0.17763.0+)
- ✅ MacCatalyst (15.0+)
O aplicativo utiliza SQLite para armazenamento local dos dados. O banco é criado automaticamente no primeiro uso e armazena:
| Campo | Tipo | Descrição |
|---|---|---|
| Id | Integer | Chave primária (autoincremento) |
| Descricao | String | Nome/descrição do produto |
| Quantidade | Double | Quantidade do produto |
| Preco | Double | Valor unitário |
| Total | Double | Valor total (calculado automaticamente) |
- Visual Studio 2022 (versão 17.14 ou superior)
- .NET 9.0 SDK
- Workload do .NET MAUI instalado
- Clone o repositório
git clone https://github.com/seu-usuario/MauiAppMinhasCompras.git- Abra o projeto
cd MauiAppMinhasCompras- Abra a solução no Visual Studio
start MauiAppMinhasCompras.sln-
Selecione a plataforma de destino (Android, iOS, Windows, etc.)
-
Execute o projeto (F5)
- Clique em "Adicionar" na barra superior
- Preencha os campos:
- Descrição do produto
- Quantidade
- Preço unitário
- Clique em "Salvar"
- O produto será adicionado à lista automaticamente
- Toque em um produto da lista
- Modifique os campos desejados
- Clique em "Salvar"
- As alterações serão salvas imediatamente
- Deslize o produto para o lado (ou toque e segure)
- Selecione "Remover"
- O produto será excluído da lista
- Digite o termo na barra de busca no topo da tela
- A lista será filtrada automaticamente conforme você digita
- Limpe o campo para ver todos os produtos novamente
- Clique em "Somar" na barra superior
- O sistema exibirá o valor total de todos os produtos cadastrados
- O cálculo considera quantidade × preço de cada item
- ✅ Descrição do produto é obrigatória
- ✅ Quantidade deve ser um número válido
- ✅ Preço deve ser um número válido
- ✅ Tratamento de erros com mensagens amigáveis
- ✅ Validação de campos vazios
- Insert: Adiciona novo produto ao banco
- Update: Atualiza produto existente
- Delete: Remove produto do banco
- GetAll: Lista todos os produtos
- Search: Busca produtos por descrição
Implementação do atributo categoria na classe Produto, com as devidas adequações nas Views para permitir a classificação dos produtos em diferentes categorias (ex: Alimentos, Limpeza, Higiene, etc.).
O aplicativo utiliza temas adaptativos:
- Modo Claro: Interface limpa e moderna
- Modo Escuro: Adaptação automática às preferências do sistema
- Layout Responsivo: Funciona perfeitamente em diferentes tamanhos de tela
- Grid System: Organização em colunas para melhor visualização dos dados
- Interface intuitiva e fácil de usar
- Lista organizada em formato de tabela
- Ações rápidas de contexto (remover)
- Feedback visual em todas as operações
- Barra de busca sempre acessível
O projeto foi desenvolvido com foco em qualidade de código e funcionalidade:
- ✅ Desafio 1 implementado adequadamente (validado pelo professor)
- ✅ Tratamento de exceções em todas as operações
- ✅ Validações de dados de entrada
- ✅ Interface responsiva e adaptável
- ✅ Código limpo e bem estruturado
- ✅ Uso correto do padrão MVVM