mantis

READONLY COPY (https://gitlab.com/opendata-apps/mantis) | An interactive web application to track Mantis Religiosa sightings in Brandenburg.

https://github.com/opendata-apps/mantis

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.1%) to scientific vocabulary

Keywords

brandenburg flask gottesanbeterin mantis mantis-religiosa nature open-data open-data-science opendata postgresql public-science
Last synced: 6 months ago · JSON representation

Repository

READONLY COPY (https://gitlab.com/opendata-apps/mantis) | An interactive web application to track Mantis Religiosa sightings in Brandenburg.

Basic Info
Statistics
  • Stars: 7
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
brandenburg flask gottesanbeterin mantis mantis-religiosa nature open-data open-data-science opendata postgresql public-science
Created about 2 years ago · Last pushed 6 months ago
Metadata Files
Readme

README.md

🦗 Gottesanbeterin Gesucht Mitmachprojekt 🦗

Header Banner

An interactive web application to track Mantis Religiosa sightings in Brandenburg, presented by the Naturkundemuseum Potsdam.

Mantis Tracker allows users to report Mantis Religiosa sightings and view them on an interactive map, along with insightful statistics and helpful FAQs.

🌟 Features

  • 📚 Learn about the Mantis Religiosa
  • 🎨 Beautiful UI
  • 📝 Report mantis sightings with an easy-to-use form
  • 🗺️ View all mantis sightings on an interactive map
  • 📊 View insightful statistics and FAQs

🚀 Roadmap

Here are some of the features we plan to add in the future:

  • [ ] Gallery of photos of the Mantis Religiosa
  • [ ] Improved data visualization and analysis of the sighting data
  • [ ] More animations and UI improvements to make the app more engaging
  • [ ] Improved performance and code quality

Stay tuned for updates on these exciting new features!

🛠️ Technologies

HTML CSS Jinja2s Python Flask PostgreSQL Tailwind CSS JavaScript

💻 Development Setup

Prerequisites

  • Python 3.13+
  • uv (Python package manager)
  • Node.js and npm
  • PostgreSQL

Step 1: 📁 Clone the repository

bash git clone https://gitlab.com/opendata-apps/mantis.git cd mantis

Step 2: 🌐 Create and activate virtual environment

bash python -m venv .venv source .venv/bin/activate # For Windows: .venv\Scripts\activate

Step 3: 📦 Install Python dependencies

```bash

Install production dependencies

uv sync

For development (includes testing and linting tools)

uv sync --extra dev

For documentation building

uv sync --extra docs ```

Step 4: 🗄️ Set up PostgreSQL database

Using psql:

bash psql -U postgres

Preapare a database for production.

sql CREATE USER mantis_user WITH PASSWORD 'mantis'; CREATE DATABASE mantis_tracker OWNER mantis_user; GRANT ALL PRIVILEGES ON DATABASE mantis_tracker TO mantis_user; -- MacOS only: GRANT usage, create ON SCHEMA public TO mantis_tracker; \q

Prepare a database for pytest

sql CREATE DATABASE mantis_tester OWNER mantis_user; GRANT ALL PRIVILEGES ON DATABASE mantis_tester TO mantis_user; -- MacOS only: GRANT usage, create ON SCHEMA public TO mantis_tester; \q

Step 5: 🏗️ Create the database tables

```bash

flask db upgrade

aktuelle Version anzeigen

flask db current

History anzeigen

flask db history

```

Step 6: ☕ Fill the database tables

If TESTING in config.py is set to TRUE also Demodata are inserted into the database.

bash flask insert-initial-data

Step 7: 🎨 Run the CSS watcher

bash cd app/static npm install

The project includes a convenient script to watch for CSS changes. Start it with:

bash npm run watch:css

Step 8: 🚀 Run the application

Development server

bash python run.py

Step 9: 🚀 Connect as Reviewer

bash http://loclahost:5000/reviewer/9999

Start with fresh databases

  • delete database mantis_tracker
  • delete database mantis_tester
  • start again with Step 4

Production setup

  • Edit Settings in app/config.py and make changes e.g.
    • Connectionstring for DB
    • TESTING = False
    • Run Tests with pytest
  • Create the minified CSS file

bash cd app/static npm run build:css

Step 9: 🏢 Run production server

bash gunicorn run:app # For Windows: waitress-serve --listen=*:8000 run:app

Step 8: 🌐 Access the application

Open http://localhost:5000 in your browser.

Owner

  • Name: OpenData-Apps
  • Login: opendata-apps
  • Kind: organization
  • Location: Germany

Advancing open-source solutions for freely accessible data, powered by a collaborative community

GitHub Events

Total
  • Delete event: 8
  • Push event: 109
  • Create event: 5
Last Year
  • Delete event: 8
  • Push event: 109
  • Create event: 5

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 1,090
  • Total Committers: 19
  • Avg Commits per committer: 57.368
  • Development Distribution Score (DDS): 0.427
Past Year
  • Commits: 228
  • Committers: 3
  • Avg Commits per committer: 76.0
  • Development Distribution Score (DDS): 0.197
Top Committers
Name Email Commits
LeonKohli 9****i 625
PeterK p****r@k****m 287
PeterK g****b@k****m 44
Willi w****4@g****m 31
CA c****h@g****m 21
Magic-Burkhard j****2@g****m 15
SignumGG l****n@w****e 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 (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 8
  • 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: 1.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 8
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Primajin (1)
Pull Request Authors
  • dependabot[bot] (15)
Top Labels
Issue Labels
Pull Request Labels
dependencies (15)

Packages

  • Total packages: 1
  • Total downloads: unknown
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 18
proxy.golang.org: github.com/opendata-apps/mantis
  • Versions: 18
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago

Dependencies

package-lock.json npm
  • 290 dependencies
package.json npm
  • @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
docs/develop/files/requirements.txt pypi
  • Babel ==2.12.1 development
  • Flask ==2.2.3 development
  • Flask-Migrate ==4.0.4 development
  • Flask-SQLAlchemy ==3.0.3 development
  • Flask-Testing ==0.8.1 development
  • Flask-WTF ==1.1.1 development
  • Jinja2 ==3.1.2 development
  • Mako ==1.2.4 development
  • MarkupSafe ==2.1.2 development
  • Pillow ==9.5.0 development
  • PySocks ==1.7.1 development
  • Pygments ==2.15.1 development
  • SQLAlchemy ==2.0.7 development
  • Sphinx ==7.0.1 development
  • WTForms ==3.0.1 development
  • Werkzeug ==2.2.3 development
  • XlsxWriter ==3.1.2 development
  • alabaster ==0.7.13 development
  • alembic ==1.10.2 development
  • appdirs ==1.4.4 development
  • async-generator ==1.10 development
  • attrs ==23.1.0 development
  • blinker ==1.6.2 development
  • cattrs ==22.2.0 development
  • certifi ==2023.5.7 development
  • charset-normalizer ==3.1.0 development
  • click ==8.1.3 development
  • colorama ==0.4.6 development
  • coverage ==7.2.5 development
  • dnspython ==2.3.0 development
  • docutils ==0.20 development
  • email-validator ==2.0.0.post2 development
  • esbonio ==0.16.1 development
  • et-xmlfile ==1.1.0 development
  • exceptiongroup ==1.1.1 development
  • greenlet ==2.0.2 development
  • gunicorn ==20.1.0 development
  • h11 ==0.14.0 development
  • idna ==3.4 development
  • imagesize ==1.4.1 development
  • iniconfig ==2.0.0 development
  • itsdangerous ==2.1.2 development
  • lsprotocol ==2023.0.0a1 development
  • numpy ==1.24.3 development
  • openpyxl ==3.1.2 development
  • outcome ==1.2.0 development
  • packaging ==23.1 development
  • pandas ==2.0.1 development
  • pluggy ==1.0.0 development
  • psycopg2-binary ==2.9.6 development
  • pygls ==1.0.2 development
  • pyspellchecker ==0.7.2 development
  • pytest ==7.3.1 development
  • pytest-cov ==4.0.0 development
  • pytest-cover ==3.0.0 development
  • pytest-coverage ==0.0 development
  • pytest-flask ==1.2.0 development
  • python-dateutil ==2.8.2 development
  • python-dotenv ==1.0.0 development
  • pytz ==2023.3 development
  • requests ==2.30.0 development
  • selenium ==4.9.1 development
  • six ==1.16.0 development
  • sniffio ==1.3.0 development
  • snowballstemmer ==2.2.0 development
  • sortedcontainers ==2.4.0 development
  • sphinxcontrib-applehelp ==1.0.4 development
  • sphinxcontrib-devhelp ==1.0.2 development
  • sphinxcontrib-htmlhelp ==2.0.1 development
  • sphinxcontrib-jsmath ==1.0.1 development
  • sphinxcontrib-qthelp ==1.0.3 development
  • sphinxcontrib-serializinghtml ==1.1.5 development
  • tqdm ==4.65.0 development
  • trio ==0.22.0 development
  • trio-websocket ==0.10.2 development
  • typeguard ==3.0.2 development
  • typing_extensions ==4.5.0 development
  • tzdata ==2023.3 development
  • urllib3 ==2.0.2 development
  • webdriver-manager ==3.8.6 development
  • wsproto ==1.2.0 development
docs/requirements.txt pypi
  • Babel ==2.12.1
  • Jinja2 ==3.1.2
  • MarkupSafe ==2.1.2
  • Pygments ==2.15.1
  • Sphinx ==6.2.1
  • alabaster ==0.7.13
  • certifi ==2023.5.7
  • charset-normalizer ==3.1.0
  • docutils ==0.18.1
  • idna ==3.4
  • imagesize ==1.4.1
  • packaging ==23.1
  • requests ==2.30.0
  • snowballstemmer ==2.2.0
  • sphinx-rtd-theme ==1.2.0
  • sphinxcontrib-applehelp ==1.0.4
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.1
  • sphinxcontrib-jquery ==4.1
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • urllib3 ==2.0.2
requirements.txt pypi
  • Babel ==2.13.1
  • Flask ==3.0.0
  • Flask-Migrate ==4.0.5
  • Flask-SQLAlchemy ==3.1.1
  • Flask-Testing ==0.8.1
  • Flask-WTF ==1.2.1
  • Jinja2 ==3.1.2
  • Mako ==1.3.0
  • MarkupSafe ==2.1.3
  • Pillow ==10.1.0
  • PySocks ==1.7.1
  • Pygments ==2.17.2
  • SQLAlchemy ==2.0.23
  • Sphinx ==7.2.6
  • WTForms ==3.1.1
  • Werkzeug ==3.0.1
  • XlsxWriter ==3.1.9
  • alabaster ==0.7.13
  • alembic ==1.12.1
  • appdirs ==1.4.4
  • async-generator ==1.10
  • attrs ==23.1.0
  • blinker ==1.7.0
  • cattrs ==23.2.3
  • certifi ==2023.11.17
  • charset-normalizer ==3.3.2
  • click ==8.1.7
  • colorama ==0.4.6
  • coverage ==7.3.2
  • dnspython ==2.4.2
  • docutils ==0.20.1
  • email-validator ==2.1.0.post1
  • esbonio ==0.16.3
  • et-xmlfile ==1.1.0
  • exceptiongroup ==1.2.0
  • greenlet ==3.0.1
  • gunicorn ==21.2.0
  • h11 ==0.14.0
  • idna ==3.6
  • imagesize ==1.4.1
  • iniconfig ==2.0.0
  • itsdangerous ==2.1.2
  • lsprotocol ==2023.0.0
  • numpy ==1.26.2
  • openpyxl ==3.1.2
  • outcome ==1.3.0.post0
  • packaging ==23.2
  • pandas ==2.1.3
  • platformdirs ==4.0.0
  • pluggy ==1.3.0
  • psycopg2-binary ==2.9.9
  • pygls ==1.2.1
  • pyspellchecker ==0.7.2
  • pytest ==7.4.3
  • pytest-cov ==4.1.0
  • pytest-cover ==3.0.0
  • pytest-coverage ==0.0
  • pytest-flask ==1.3.0
  • python-dateutil ==2.8.2
  • python-dotenv ==1.0.0
  • pytz ==2023.3.post1
  • requests ==2.31.0
  • selenium ==4.15.2
  • setuptools ==69.0.2
  • six ==1.16.0
  • sniffio ==1.3.0
  • snowballstemmer ==2.2.0
  • sortedcontainers ==2.4.0
  • sphinxcontrib-applehelp ==1.0.7
  • sphinxcontrib-devhelp ==1.0.5
  • sphinxcontrib-htmlhelp ==2.0.4
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.6
  • sphinxcontrib-serializinghtml ==1.1.9
  • tqdm ==4.66.1
  • trio ==0.23.1
  • trio-websocket ==0.11.1
  • typeguard ==4.1.5
  • typing_extensions ==4.8.0
  • tzdata ==2023.3
  • urllib3 ==2.1.0
  • webdriver-manager ==4.0.1
  • wsproto ==1.2.0