se# StampCollectorApp
StampCollectorApp é uma aplicação multiplataforma para colecionadores de selos, desenvolvida em .NET MAUI (.NET 8). Permite gerir selos, trocas, coleções, categorias e imagens de forma intuitiva e organizada.
- Gestão de Selos: Adicione, edite, remova e pesquise selos.
- Coleções: Organize selos em coleções, com controlo de quantidade esperada e colecionada.
- Categorias: Classifique selos por categorias personalizadas.
- Imagens: Associe imagens locais ou pesquise imagens de selos via API do Pixabay.
- Validações inteligentes: Preenchimento obrigatório, datas, valores positivos, etc.
- Modo Troca: Marque selos como disponíveis para troca.
- Registo de Trocas: Registe facilmente a troca de um selo com outro colecionador. Após selecionar o selo para troca, preencha o nome e contacto do colecionador, e adicione notas se desejar. Um histórico de todas as trocas realizadas fica disponível na aplicação para consulta posterior.
- Notas e Detalhes: Registe informações detalhadas sobre cada selo e coleção.
- Dashboard interativo: Visualize estatísticas e resumos através de gráficos e indicadores, com filtros avançados por Categoria, Coleção, País e Condição do selo. Permite uma análise personalizada dos seus dados de coleção.
A página de dashboard oferece uma visão geral da sua coleção, com métricas como:
- Quantidade total de selos, coleções, categorias e trocas;
- Gráfico de selos por categoria, por coleção e por país;
- Evolução das trocas nos últimos 12 meses.
Opções de filtragem:
Use os filtros no topo do dashboard para visualizar os dados de acordo com:
- Categoria: Mostra apenas selos de uma categoria selecionada.
- Coleção: Filtra estatísticas para uma coleção específica.
- País: Permite ver apenas selos de determinado país.
- Condição: Permite ver apenas selos com uma determinada Coleção.
Após escolher os filtros desejados, clique em "Aplicar filtros" para atualizar os gráficos e indicadores. Para voltar à visualização global, basta usar a opção "Limpar filtros".
A aplicação permite registar trocas de selos com outros colecionadores de forma prática:
- Selecione um selo marcado como disponível para troca.
- Preencha as informações do colecionador (nome, contacto e data da troca) e, se desejar, adicione notas sobre a troca.
- Registe a troca: O selo será removido da sua coleção e a troca será adicionada ao histórico.
- Histórico de trocas: Consulte todas as trocas realizadas numa secção específica da aplicação, com detalhes como data, nome do colecionador, contacto e notas.
- Dica: Após registar a troca, caso ainda não tenha registado o selo recebido do outro colecionador, faça-o para manter a sua coleção sempre atualizada. A aplicação exibe um alerta para o efeito.
- .NET MAUI (.NET 8)
- SQLite (armazenamento local)
- CommunityToolkit.Mvvm (MVVM)
- API Pixabay (busca de imagens)
- C#
- Android
- iOS
- Windows
- Mac Catalyst
Esta aplicação suporta os idiomas Português e Inglês. Pode selecionar o idioma no Dashboard. A escolha é persistida no armazenamento local.
- Português: Interface totalmente traduzida para português.
- Inglês: Interface totalmente traduzida para inglês.
Caso queira contribuir com traduções ou sugerir melhorias, sinta-se à vontade para abrir uma issue ou um pull request!
- Clone o repositório:
git clone https://github.com/fauxtix/StampCollectorApp.git cd StampCollectorApp
- Abra no Visual Studio 2022 ou superior.
- Restaure os pacotes NuGet:
- O Visual Studio faz isso automaticamente ao abrir a solução.
- Selecione a plataforma desejada (Android, Windows, etc) e execute (F5).
StampCollectorApp/
├── Models/ # Modelos de dados (Stamp, Collection, Category, etc)
├── ViewModels/ # Lógica de apresentação (MVVM)
├── Views/ # Páginas XAML
├── Services/ # Serviços de dados e integrações
├── Resources/ # Imagens, estilos, etc
├── AppShell.xaml # Navegação principal
├── MauiProgram.cs # Configuração de DI e inicialização
└── ...
Contribuições são bem-vindas!
Abra uma issue ou envie um pull request.
Este projeto está licenciado sob a licença MIT.
Dúvidas ou sugestões?
Abra uma issue, por favor.