π¦ Gottesanbeterin Gesucht Mitmachprojekt π¦
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.
- π 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
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!
- Python 3.8+
- Node.js and npm
- PostgreSQL
git clone https://gitlab.com/opendata-apps/mantis.git
cd mantis
python -m venv .venv
source .venv/bin/activate # For Windows: .venv\Scripts\activate
pip install -r requirements.txt
Using psql
:
psql -U postgres
Preapare a database for production.
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
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
flask db upgrade
# aktuelle Version anzeigen
flask db current
# History anzeigen
flask db history
If TESTING in config.py is set to TRUE also Demodata are inserted into the database.
flask insert-initial-data
cd app/static
npm install
The project includes a convenient script to watch for CSS changes. Start it with:
npm run watch:css
python run.py
http://loclahost:5000/reviewer/9999
- delete database mantis_tracker
- delete database mantis_tester
- start again with Step 4
- 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
cd app/static
npm run build:css
gunicorn run:app # For Windows: waitress-serve --listen=*:8000 run:app
Open http://localhost:5000 in your browser.