Tapir is a web application for cooperative member and shift management used by cooperatives such as SuperCoop Berlin and Rizoma. It covers member profiles, shift scheduling and booking, automatic emails, and application workflows.
If you're interested in using Tapir for your own cooperative, we'd be happy to help. You can contact us in several ways:
- feel free to join the Matrix space: https://matrix.to/#/#tapir-fuer-supermrtke:matrix.org
- create an issue in this Repo and tag Théo and Crosspolar
- write an email to Théo directly, with the address on his profile.
- Member management: profiles, contact details, qualifications, shopping-status, membership-fees
- Shift management: create shifts, sign up, cancel, find substitutes
- Coop statistics: track and vizualize purchases
- Mailings & notifications: automatic emails for shifts or reminders
- Application workflow: review, accept or reject applicants
- Roles & permissions: board, employees, member office, regular members
- Internationalization: multi-language support
- Clone
git clone https://github.com/SuperCoopBerlin/tapir.git- Run
docker compose up -d. The first time may take a while, following runs will be much shorter - Install migrations and generate test data:
docker compose exec web poetry run python manage.py migrate
docker compose exec web poetry run python manage.py generate_test_data --reset_allTapir should now be accessible under http://localhost:8000. You can login with username roberto.cortes and password roberto.cortes (same as the username).
Everyone is welcome — coding skills not required.
How to contribute
- Report issues or feature requests in Issues
- Find beginner tasks with the
good first issuelabel - Improve docs, translate UI strings, verify workflows, test
Developer quick steps see CONTRIBUTING.md.
Code style & tooling
- Use
black; pre-commit hooks recommended - Run
pytestlocally before PRs - Have a look at our wiki and in particular "Setting-up-you-development-environment" how to run Tapir on your machine and how to setup your IDE.
Non-technical contributions
- Translations: see CONTRIBUTING.md for how to add language files
- Documentation: edit the wiki
- Support & testing: help reproduce bugs, triage issues
- Wiki (setup & how-tos): https://github.com/SuperCoopBerlin/tapir/wiki
- SuperCoop members can access the system at https://members.supercoop.de
- Issues: https://github.com/SuperCoopBerlin/tapir/issues
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!
