Gottesanbeterin Gesucht
An interactive web application to track Mantis Religiosa sightings in Brandenburg.
https://github.com/opendata-apps/mantis
Category: Biosphere
Sub Category: Biodiversity Citizen Science
Keywords
brandenburg flask gottesanbeterin mantis mantis-religiosa nature open-data open-data-science opendata postgresql public-science
Last synced: about 15 hours ago
JSON representation
Repository metadata
READONLY COPY (https://gitlab.com/opendata-apps/mantis) | An interactive web application to track Mantis Religiosa sightings in Brandenburg.
- Host: GitHub
- URL: https://github.com/opendata-apps/mantis
- Owner: opendata-apps
- License: other
- Created: 2024-01-24T11:48:32.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2026-08-26T21:14:10.000Z (2 days ago)
- Last Synced: 2026-08-27T01:12:57.433Z (1 day ago)
- Topics: brandenburg, flask, gottesanbeterin, mantis, mantis-religiosa, nature, open-data, open-data-science, opendata, postgresql, public-science
- Language: Python
- Homepage: https://gottesanbeterin-gesucht.de
- Size: 242 MB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
README.md
🦗 Gottesanbeterin Gesucht (Mantis Tracker)

Mantis Tracker is a Flask web application for collecting, reviewing, and
publishing sightings of the European mantis (Mantis religiosa).
Project website: gottesanbeterin-gesucht.de
Features
- Public multi-step report form (
/melden) - Reviewer workflow for quality control (
/reviewer) - Public map and statistics for accepted reports (
/auswertungen,/statistik) - Image upload pipeline with WebP storage
- PostgreSQL full-text search and export tools for reviewers
Quick Start (Container)
Prerequisites:
cp .env.example .env
# Set a secure SECRET_KEY, e.g.:
# python -c "import secrets; print(secrets.token_hex(32))"
just up --build
App URL: http://localhost:5000
Useful commands:
just down
just logs
just shell
just db
just migrate
just seed
just prod --build
just prod-down
Local Development (No Container)
Prerequisites:
- Python 3.13+
uvbun- PostgreSQL 16+
cp .env.example .env
uv sync --extra dev
bun install
Create databases:
CREATE USER mantis_user WITH PASSWORD 'mantis' CREATEDB;
CREATE DATABASE mantis_tracker OWNER mantis_user;
Run migrations and seed base data:
uv run flask db upgrade
uv run flask create_all_data_view
uv run flask seed
# optional demo data:
uv run flask seed --demo
Start app:
uv run python run.py
run.py starts Flask and the frontend watcher (bun run watch).
Reviewer quick login (local dev): http://localhost:5000/reviewer/9999
Architecture (Short)
Browser
|
v
Flask App (Blueprints)
| \
v v
PostgreSQL app/datastore (WebP)
^
|
Vite Build (app/static/build + manifest)
Core areas:
app/routes/: HTTP endpoints (main,report,data,statistics,provider,admin,regionen)app/database/: SQLAlchemy models, materialized view, seed/populate logicapp/tools/: domain utilities (coordinates, MTB, mail, Vite helpers)migrations/: Alembic migrations
Quality and Tests
uv run ruff check .
uv run pyright
uv run pytest
uv run pytest -m unit
uv run pytest --cov=app --cov-report=term-missing
Tests use a separate PostgreSQL database: mantis_tester.
Documentation
Build docs:
uv sync --extra docs
make -C docs html
Strict docs check:
uv run sphinx-build -W --keep-going -b html docs /tmp/mantis-docs-build
Main docs entry points:
docs/index.rstdocs/userinterface/index.rstdocs/develop/index.rst
Project Structure
mantis/
├── app/
│ ├── routes/
│ ├── database/
│ ├── templates/
│ ├── static/
│ └── tools/
├── docs/
├── infrastructure/
├── migrations/
└── tests/
License
MIT, see LICENCE.md.
Owner metadata
- Name: OpenData-Apps
- Login: opendata-apps
- Email:
- Kind: organization
- Description: Advancing open-source solutions for freely accessible data, powered by a collaborative community
- Website: https://gottesanbeterin-gesucht.de
- Location: Germany
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/157598851?v=4
- Repositories: 2
- Last ynced at: 2024-04-16T02:59:18.335Z
- Profile URL: https://github.com/opendata-apps
GitHub Events
Total
- Create event: 9
- Delete event: 16
- Push event: 164
Last Year
- Create event: 4
- Delete event: 8
- Push event: 57
Committers metadata
Last synced: 8 days ago
Total Commits: 1,443
Total Committers: 19
Avg Commits per committer: 75.947
Development Distribution Score (DDS): 0.355
Commits in past year: 353
Committers in past year: 3
Avg Commits per committer in past year: 117.667
Development Distribution Score (DDS) in past year: 0.133
| Name | Commits | |
|---|---|---|
| LeonKohli | 9****i | 931 |
| PeterK | p****r@k****m | 326 |
| PeterK | g****b@k****m | 52 |
| Willi | w****4@g****m | 31 |
| CA | c****h@g****m | 21 |
| SignumGG | l****n@w****e | 15 |
| Magic-Burkhard | j****2@g****m | 15 |
| Dreyex | m****f@g****e | 14 |
| Janneck | 4****d | 11 |
| jeremys.social | 7****l | 8 |
| Tanyaa Tanyaa | c****1@g****m | 5 |
| m4rt1ni | k****n@g****m | 5 |
| Lukas | l****l@z****e | 2 |
| Luca | y****r@g****m | 2 |
| user608 | u****8@s****e | 1 |
| user606 | u****6@s****e | 1 |
| PeterK | p****r@t****e | 1 |
| Peter Koppatz | p****z@t****e | 1 |
| Daniel Ruttloff | m****5@g****t | 1 |
Committer domains:
- th-wildau.de: 2
- sz.zitbb.lvnbb.de: 2
- koppatz.com: 2
- gmx.net: 1
- zit-bb.brandenburg.de: 1
- gmx.de: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 1
Total pull requests: 15
Average time to close issues: about 22 hours
Average time to close pull requests: 2 minutes
Total issue authors: 1
Total pull request authors: 1
Average comments per issue: 4.0
Average comments per pull request: 0.53
Merged pull request: 0
Bot issues: 0
Bot pull requests: 15
Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- Primajin (1)
Top Pull Request Authors
- dependabot[bot] (15)
Top Issue Labels
Top Pull Request Labels
- dependencies (15)
Package metadata
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 21
proxy.golang.org: github.com/opendata-apps/mantis
- Homepage:
- Documentation: https://pkg.go.dev/github.com/opendata-apps/mantis#section-documentation
- Licenses: other
- Latest release: v1.1.0 (published 4 months ago)
- Last Synced: 2026-08-27T01:10:52.175Z (1 day ago)
- Versions: 21
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 5.395%
- Average: 5.576%
- Dependent repos count: 5.758%
Dependencies
- docker.io/oven/bun 1 build
- docker.io/python 3.13-slim build
- alabaster 1.0.0
- alembic 1.18.4
- babel 2.18.0
- beautifulsoup4 4.14.3
- blinker 1.9.0
- certifi 2026.1.4
- charset-normalizer 3.4.4
- click 8.3.1
- colorama 0.4.6
- coverage 7.13.4
- deprecated 1.3.1
- dnspython 2.8.0
- docutils 0.22.4
- email-validator 2.3.0
- flask 3.1.3
- flask-favicon 0.1.4
- flask-limiter 4.1.1
- flask-mail 0.10.0
- flask-migrate 4.1.0
- flask-sqlalchemy 3.1.1
- flask-wtf 1.2.2
- geographiclib 2.1
- geopy 2.4.1
- greenlet 3.3.2
- gunicorn 25.1.0
- heroicons 2.13.0
- idna 3.11
- imagesize 1.4.1
- iniconfig 2.3.0
- itsdangerous 2.2.0
- jinja2 3.1.6
- limits 5.8.0
- mako 1.3.10
- mantis 1.1.0
- markupsafe 3.0.3
- nodeenv 1.10.0
- numpy 2.4.2
- ordered-set 4.1.0
- packaging 26.0
- pillow 12.1.1
- pluggy 1.6.0
- psycopg 3.3.3
- psycopg-binary 3.3.3
- pygments 2.19.2
- pyright 1.1.408
- pytest 9.0.2
- pytest-cov 7.0.0
- python-dateutil 2.9.0.post0
- python-dotenv 1.2.1
- pytz 2025.2
- pyyaml 6.0.3
- requests 2.32.5
- roman-numerals 4.1.0
- ruff 0.15.2
- shapely 2.1.2
- six 1.17.0
- snowballstemmer 3.0.1
- soupsieve 2.8.3
- sphinx 9.1.0
- sphinx-rtd-theme 3.1.0
- sphinxcontrib-applehelp 2.0.0
- sphinxcontrib-devhelp 2.0.0
- sphinxcontrib-htmlhelp 2.1.0
- sphinxcontrib-jquery 4.1
- sphinxcontrib-jsmath 1.0.1
- sphinxcontrib-qthelp 2.0.0
- sphinxcontrib-serializinghtml 2.0.0
- sqlalchemy 2.0.46
- sqlalchemy-utils 0.42.1
- svgwrite 1.4.3
- typing-extensions 4.15.0
- tzdata 2025.3
- urllib3 2.6.3
- werkzeug 3.1.6
- wrapt 2.1.1
- wtforms 3.2.1
- xlsxwriter 3.2.9
- alembic >=1.16.2
- beautifulsoup4 >=4.14.3
- blinker >=1.9.0
- click >=8.2.1
- email-validator >=2.2.0
- flask >=3.1.1
- flask-favicon >=0.1.4
- flask-limiter >=3.12
- flask-mail >=0.10.0
- flask-migrate >=4.1.0
- flask-sqlalchemy >=3.1.1
- flask-wtf >=1.2.2
- geopy >=2.4.1
- gunicorn >=23.0.0
- heroicons [jinja]>=2.11.0
- jinja2 >=3.1.6
- mako >=1.3.10
- pillow >=11.2.1
- psycopg [binary]>=3.2
- python-dateutil >=2.9.0.post0
- python-dotenv >=1.1.0
- pytz >=2025.2
- pyyaml >=6.0
- requests >=2.32.4
- shapely >=2.1.1
- sqlalchemy >=2.0.41
- svgwrite >=1.4.3
- werkzeug >=3.1.3
- wtforms >=3.2.1
- xlsxwriter >=3.2.5
- 141 dependencies
- @tailwindcss/aspect-ratio ^0.4.2 development
- @tailwindcss/forms ^0.5.3 development
- flowbite ^1.6.6
- tailwind ^4.0.0
- tailwindcss ^3.3.3
Score: -Infinity