Files
vogelalbum/.gitea/PULL_REQUEST_TEMPLATE.md
T
christian cc9e0786c2 Vogelalbum 1.0.0
Eine Kamera am Vogelhaus, ein Rechner der erkennt wer da war — und eine
Sammlung, die sich von allein fuellt.

Zwei neuronale Netze: eines findet den Vogel im Bild, eines bestimmt die
Art. 148 heimische Arten, auf Deutschland eingeschraenkt und neu normiert —
ohne diese Einschraenkung wird aus einer Kohlmeise eine nordamerikanische
Schwesterart. Daraus entsteht ein Sammelalbum: nummerierte Seiten,
gefundene Arten in Farbe, fehlende als Schatten, dazu Erstfang, Punkte,
Stufen und 15 Abzeichen.

Laeuft vollstaendig auf eigener Hardware. Kein Cloud-Dienst, kein Konto,
keine Telemetrie; die Bilder verlassen das eigene Netz nicht.

Zwei getrennt deploybare Teile: die Sammlung als Django-Anwendung, die
Erkennung als eigener Dienst. Der Erkennungs-Dienst fragt selbst an und
braucht deshalb weder eine erreichbare Adresse noch einen offenen Port —
er laeuft hinter einem gewoehnlichen Router.

Dabei: Firmware fuer Raspberry Pi und ESP32-S3, Anbindung an Home
Assistant ueber MQTT, Oberflaeche auf Deutsch und Englisch, Einstellungen
je Kamera aus dem Browser, und ein Weg fuer Fotos von unterwegs.

AGPL-3.0.
2026-10-14 18:55:23 +00:00

34 lines
983 B
Markdown

<!--
Danke. Die Spielregeln stehen in CONTRIBUTING.md — darin auch die
Rechteeinräumung, ohne die dieses Projekt nicht doppelt lizenziert werden
kann.
-->
## Was sich ändert
## Warum
<!--
Das Interessantere von beidem. Der Code sagt, was passiert; die
Commit-Nachricht soll sagen, warum es nötig war.
-->
## Geprüft durch
- [ ] `./venv/bin/python -m unittest discover tests` (Detector)
- [ ] `cd web && ../venv/bin/python manage.py test` (Web-App)
- [ ] Seite im Browser angesehen — bei allem, was die Oberfläche berührt
- [ ] an echter Hardware ausprobiert — bei allem unter `pi/` oder `esp32cam/`
<!--
Der dritte Punkt steht hier, weil er sich verdient hat: Zwei Fehler in diesem
Projekt sind durch alle Tests gekommen und erst beim Hinsehen aufgefallen.
Neue sichtbare Texte brauchen eine englische Fassung, sonst wird der
Übersetzungstest rot. Er druckt die fehlende Zeile kopierfertig aus.
-->
## Bezug
<!-- "Closes #123", falls es ein Issue schließt -->