- C# 88.9%
- HTML 11.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| docs | ||
| landing | ||
| src | ||
| tests | ||
| .gitignore | ||
| collect-and.slnx | ||
| Directory.Build.props | ||
| LICENSE | ||
| README.md | ||
Collect &
Collect & ist eine erweiterbare Open-Source-Dachplattform, die reale, positive Aktivitäten sichtbar macht, gamifiziert und durch Community sowie Sponsoren finanziell unterstützt.
Erstes Modul: Collect & Run — beim Laufen, Spazieren und Wandern Müll aus der Natur sammeln.
Sammle, was andere liegen lassen. Punkte, die man sehen kann. Geld, das man nachvollziehen kann.
Das Produkt
- Collector registriert sich.
- Collector startet eine Collection und läuft durch die Natur.
- Gesammelter Müll wird fotografiert.
- Bilder werden hochgeladen und von einer KI analysiert.
- Daraus werden Collect Points berechnet (konfigurierbare Score Engine, keine hartgebrannte Formel).
- Collector erhält Punkte, Achievements und Ranking.
- Langfristig: verifizierte Collect Points → Rewards aus einem spendenfinanzierten Collector Pool.
Geplante Module
| Modul | Status |
|---|---|
| Collect & Run | MVP (Phase 1–7) |
| Collect & Walk | geplant |
| Collect & Hike | geplant |
| Collect & Bike | geplant |
| Collect & Paddle | geplant |
Die gemeinsame Plattform verwaltet Benutzer, Collections, Collect Points, Bilder, Challenges, Spenden, Rewards und Rankings. Aktivitätsspezifische Funktionen werden als Module ergänzt (siehe modules/).
Tech-Stack (MVP)
- Backend: .NET 10 / ASP.NET Core — gut strukturierter modularer Monolith
- Frontend: PWA (Web App, keine native App)
- Datenbank: PostgreSQL 16 (EF Core)
- Object Storage: MinIO (S3-kompatibel) — Original- und öffentliche Bilder getrennt
- Cache/Queue: Redis 8 (Caching + Redis Streams als Worker-Queue)
- AI: separater AI-Worker mit austauschbaren Providern (lokal im Home Lab)
- Deployment: Docker / Docker Compose, Reverse-Proxy-fähig (kein Kubernetes)
Repository-Struktur
collect-and/
├── README.md
├── LICENSE
├── .gitignore
├── .editorconfig
├── Directory.Build.props
├── collect-and.sln
├── docs/
│ ├── vision.md
│ ├── architecture.md
│ ├── business-model.md
│ ├── collect-points.md
│ ├── anti-fraud.md
│ ├── security.md
│ ├── roadmap.md
│ ├── backlog.md
│ └── adr/ # Architecture Decision Records
├── src/
│ ├── CollectAnd.Domain/ # Entities, Wertobjekte, State-Machine (keine Abhängigkeiten)
│ ├── CollectAnd.Application/ # Use Cases, Interfaces (abstrakte Ports)
│ ├── CollectAnd.Infrastructure/# EF Core, MinIO, Redis, JWT (Adapters)
│ ├── CollectAnd.Api/ # ASP.NET Core HTTP-API + PWA-Hosting
│ ├── CollectAnd.Worker/ # Hintergrundverarbeitung (Scoring, Anti-Fraud)
│ └── CollectAnd.AI/ # AI-Pipeline, austauschbare Provider
├── modules/
│ └── run/ # Aktivitätenmodul „Run“ (Regeln, Doku, später Feature-Code)
├── deploy/
│ ├── docker/ # Dockerfiles
│ └── compose/ # docker-compose.yml
└── tests/
├── CollectAnd.Domain.Tests/
├── CollectAnd.Application.Tests/
└── CollectAnd.IntegrationTests/
Quickstart (Home Lab)
Voraussetzungen: Docker + Docker Compose, .NET 10 SDK (optional für lokale Entwicklung).
cd deploy/compose
docker compose up -d
# API: http://localhost:8080 (Health: /healthz, Swagger: /swagger)
# PWA: http://localhost:8080/
# MinIO-Web: http://localhost:9001 (admin/collectand_secret)
Lokale Entwicklung ohne Docker für die Datenbank:
docker compose -f deploy/compose/docker-compose.yml up -d postgres minio redis
dotnet run --project src/CollectAnd.Api
Tests:
dotnet test
Dokumentation
- Vision — warum und für wen
- Architektur — Zielarchitektur, Module, Datenflüsse
- Business-Modell — Spenden, Collector Pool, Rewards, offene Rechtsfragen
- Collect Points — Faktor-Modell, austauschbare Score Engine
- Anti-Fraud — Schichten, Datenstrukturen, Prüfungen
- Security & Privacy — Privacy by Design, Datenschutz, Auditierbarkeit
- Roadmap — Phasen 0–8
- MVP-Backlog — Issues mit Abhängigkeiten und Acceptance Criteria
- ADRs — dokumentierte Architekturentscheidungen
Prinzipien
- Keep it simple — modularer Monolith vor Microservices
- Privacy by Design — GPS und Bilder nicht per se öffentlich
- Security by Design
- AI ist ein Hilfsmittel, keine alleinige Entscheidungsinstanz
- Collect Points und Geld sind strikt getrennte Konzepte
- Alle finanziellen Berechnungen auditierbar
- Keine Geschäftsregeln unnötig hardcoden
- Gute Tests für Domainlogik
- Erst Home Lab, dann Skalierung (aber nicht vorzeitig optimieren)
Lizenz
MIT (vorläufig — Entscheidung, siehe Roadmap)