{"id":28403615,"url":"https://github.com/fauxtix/stampcollectorapp","last_synced_at":"2025-07-13T18:41:23.187Z","repository":{"id":296523670,"uuid":"992052695","full_name":"fauxtix/StampCollectorApp","owner":"fauxtix","description":"Application for stamp collectors, developed in .NET MAUI","archived":false,"fork":false,"pushed_at":"2025-06-22T11:23:26.000Z","size":17848,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-06-22T12:26:17.906Z","etag":null,"topics":["csharp","dependency-injection","localization","mobile-development","mvvm","sqlite","xaml"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fauxtix.png","metadata":{"files":{"readme":"README.en.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-28T14:44:03.000Z","updated_at":"2025-06-22T11:23:29.000Z","dependencies_parsed_at":"2025-05-31T21:23:16.815Z","dependency_job_id":"c5c16b4a-2906-4883-8ce1-99109b3e0dee","html_url":"https://github.com/fauxtix/StampCollectorApp","commit_stats":null,"previous_names":["fauxtix/stampcollectorapp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fauxtix/StampCollectorApp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fauxtix%2FStampCollectorApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fauxtix%2FStampCollectorApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fauxtix%2FStampCollectorApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fauxtix%2FStampCollectorApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fauxtix","download_url":"https://codeload.github.com/fauxtix/StampCollectorApp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fauxtix%2FStampCollectorApp/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262222529,"owners_count":23277451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","dependency-injection","localization","mobile-development","mvvm","sqlite","xaml"],"created_at":"2025-06-01T18:37:58.149Z","updated_at":"2025-06-27T08:32:17.715Z","avatar_url":"https://github.com/fauxtix.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# StampCollectorApp\n\n[🇵🇹 Portuguese version](./README.md)\n\n![AppImage](https://github.com/user-attachments/assets/b48b15ec-1b3e-49c1-9226-800059dd1074)\n\n![.NET MAUI](https://img.shields.io/badge/.NET%20MAUI-8.0-blueviolet)\n![Platform](https://img.shields.io/badge/platforms-Android%20%7C%20iOS%20%7C%20Windows%20%7C%20Mac-informational)\n![License](https://img.shields.io/badge/license-MIT-green)\n\n\u003e **StampCollectorApp** is a cross-platform app for stamp collectors, developed with .NET MAUI (.NET 8). It allows intuitive and organized management of stamps, exchanges, collections, categories, and images.\n\n---\n\n## ✨ Features\n\n- **Stamp Management:** Add, edit, remove, and search for stamps.\n- **Collections:** Organize stamps into collections, tracking expected and collected quantities.\n- **Categories:** Classify stamps by custom categories.\n- **Images:** Attach local images or search for stamp images via the Pixabay API.\n- **Smart Validation:** Required fields, date checks, positive values, and more.\n- **Exchange Mode:** Mark stamps as available for exchange.\n- **Registering Exchanges:** Easily record a stamp exchange with another collector. After selecting a stamp for exchange, fill in the collector's name and contact information, and add notes if desired. The app keeps a full history of all exchanges for future reference.\n- **Notes and Details:** Record detailed information about each stamp and collection.\n- **Interactive dashboard:** View statistics and summaries through charts and indicators, with advanced filters by Category, Collection, and Country. Allows for personalized analysis of your collection data.\n\n---\n## 📊 Dashboard\n\nThe dashboard page provides an overview of your stamp collection, displaying metrics such as:\n\n- Total number of stamps, collections, categories, and exchanges;\n- Pie charts for stamps by category, by collection, and by country;\n- Exchange activity over the last 12 months.\n\n**Filtering options:**  \nUse the filters at the top of the dashboard to display data according to:\n\n- **Category**: Shows only stamps from the selected category.\n- **Collection**: Filters statistics for a specific collection.\n- **Country**: Allows viewing only stamps from a particular country.\n\nAfter choosing your desired filters, tap **\"Apply filters\"** to update the charts and indicators. To return to the global view, simply use the **\"Clear filters\"** option.\n\n---\n## 🔄 About Registering Exchanges\n\nThe app allows you to register stamp exchanges with other collectors easily:\n\n1. **Select a stamp marked as available for exchange.**\n2. **Enter the collector's information** (name, contact and transaction date) and add notes about the exchange if you wish.\n3. **Register the exchange:** The stamp will be removed from your collection, and the exchange will be added to your history.\n4. **Exchange history:** Review all exchanges in a dedicated section of the app, with details such as date, collector name, contact, and notes.\n5. **Tip:** After registering an exchange, if you have not yet added the stamp received from the other collector, please do so to keep your collection up to date.\n\n---\n\n## 🚀 Technologies\n\n- [.NET MAUI](https://learn.microsoft.com/dotnet/maui/) (.NET 8)\n- SQLite (local storage)\n- CommunityToolkit.Mvvm (MVVM)\n- Pixabay API (image search)\n- C#\n\n---\n\n## 📱 Supported Platforms\n\n- Android\n- iOS\n- Windows\n- Mac Catalyst\n\n---\n\n## 🌐 Localization\n\nThis application supports both Portuguese and English languages. You can switch the language in the Dashboard page or according to your system preferences.\n\n- **Portuguese**: Fully translated user interface.\n- **English**: Fully translated user interface.\n\n#### If you'd like to contribute translations or suggest improvements, feel free to open an issue or pull request!\n\n---\n\n\n## 🛠️ How to run\n\n1. **Clone the repository:**\n   ```sh\n   git clone https://github.com/fauxtix/StampCollectorApp.git\n   cd StampCollectorApp\n   ```\n2. **Open in Visual Studio 2022 or newer.**\n3. **Restore NuGet packages:**\n   - Visual Studio does this automatically when opening the solution.\n4. **Select the desired platform (Android, Windows, etc) and run (F5).**\n\n---\n\n## 📂 Project Structure\n\n```\nStampCollectorApp/\n ├── Models/           # Data models (Stamp, Collection, Category, etc)\n ├── ViewModels/       # Presentation logic (MVVM)\n ├── Views/            # XAML pages\n ├── Services/         # Data services and integrations\n ├── Resources/        # Images, styles, etc\n ├── AppShell.xaml     # Main navigation\n ├── MauiProgram.cs    # DI configuration and initialization\n └── ...\n```\n\n---\n\n## 📝 Contributing\n\nContributions are welcome!  \nOpen an issue or submit a pull request.\n\n---\n\n## 📄 License\n\nThis project is licensed under the MIT license.\n\n---\n\n## 📷 Screenshots\n\n![Splash](https://github.com/user-attachments/assets/5f570aac-f09c-4b8b-977b-e4afd1fdf22f)\n![Opcoes_en](https://github.com/user-attachments/assets/ce1f179e-7b07-4c63-bbef-a55743db704a)\n![Dashboard_1_en](https://github.com/user-attachments/assets/9d02de92-f2af-4f25-aa32-5fbe0e4e36dc)\n![Dashboard_2_en](https://github.com/user-attachments/assets/a1e25775-bf7f-4e5b-bb12-b9b91753a890)\n![Dashboard_3_en](https://github.com/user-attachments/assets/ba17b505-3160-4252-ae77-b139caa7896f)\n\n![Colecoes_en](https://github.com/user-attachments/assets/e6788cde-96ed-44e1-bb38-351cbb16dabc)\n![Colecoes_Novo_en](https://github.com/user-attachments/assets/9d3b02ad-9c95-43c7-b793-58dbfb4d52eb)\n![Collection_Delete_Warning_en](https://github.com/user-attachments/assets/77ac317a-6050-44e2-a36d-029b37c99f8f)\n\n![Stamps_en](https://github.com/user-attachments/assets/55843f09-df1d-464e-8780-78b29cf446a1)\n![StampNovo_1_en](https://github.com/user-attachments/assets/3a99b983-23b9-40c2-93ce-5fe7546907a0)\n![StampNovo_2_en](https://github.com/user-attachments/assets/d482e546-721d-45d5-80b1-a9afe4c23850)\n![StampEdit_1_en](https://github.com/user-attachments/assets/4aa758cf-602c-425c-b52f-a1593b23b955)\n![StampEdit_2_en](https://github.com/user-attachments/assets/c6f51b71-1968-4e93-bcb2-65aecc01b21c)\n\n\n![Trocas_en](https://github.com/user-attachments/assets/b90eb0e3-22d7-41e8-a08b-c38d8a348292)\n\n---\n\n## 🤝 Contact\n\nQuestions or suggestions?  \nOpen an issue please.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffauxtix%2Fstampcollectorapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffauxtix%2Fstampcollectorapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffauxtix%2Fstampcollectorapp/lists"}