Tapir is a member and shift management system of the food cooperative SuperCoop Berlin. Our Vorstand and member office uses Tapir to manage shifts and members, for example their personal data, capabilities, payments and shift statuses. It is also used for automatic mails and evaluate new applicants. Members can use Tapir to register or unregister for shifts, search for a stand-in and see their shift status as well as upcoming shifts.
The Tapir project is developed by SuperCoop members, in collaberation with WirMarkt Hamburg and is licensed under the terms of the AGPL license.
SuperCoop members can access the system at https://members.supercoop.de.
Tapir (/ˈteɪpər/) has a trunk, but not quite such a beautiful one as Mme. l'élephan. Tapir is badass, but not quite as badass as the other animals. Let's teach Tapir some tricks!
- Docker
- Poetry
Please note that while the actual program runs in a Docker container, you're adviced to install packages locally in order to use your IDE properly. For that you need a C Compiler such as gcc for Linux or the Visual C++ Build tools.
- Clone the project.
- Configure our pre-commit hooks:
poetry install && pre-commit install
Start by running:
docker compose up
This starts a container with an LDAP server and automatically loads the test data into the LDAP.
For local development and testing, set up the test database and load test data
# Create tables
docker compose exec web poetry run python manage.py migrate
# Load admin (password: admin) account
docker compose exec web poetry run python manage.py loaddata admin_account
# Load lots of test users & shifts
docker compose exec web poetry run python manage.py generate_test_data --reset_all
You then can find the local instance of Tapir at http://localhost:8000. Login with username and
password roberto.cortes
to get started.
For more information, have a look at our 📖 Documentation.
This is an active open-source project, so you can get involved in it easily! You can do so without any programming or Python knowledge! Just choose a task that you like.
- 🐛 Report issues or 💡 suggest new features
- 💻 Contribute Code
- 🌍 Translate Tapir
- 📖 Improve Documentation
- 🍎 Become a part of SuperCoop e.G.
- On macOS, in order to set up a local Python
venv
, you might have to install Postgresql to getpsycopg2
working. Usebrew install postgresql
for that.