johnjohndoe / tapir

Member & shift management system for our cooperative supermarket, SuperCoop Berlin eG

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tapir Member & Shift Management System

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!

Getting started

Prerequisites

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.

Install

  1. Clone the project.
  2. Configure our pre-commit hooks: poetry install && pre-commit install

Setup

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.

Contributing

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.

  1. 🐛 Report issues or 💡 suggest new features
  2. 💻 Contribute Code
  3. 🌍 Translate Tapir
  4. 📖 Improve Documentation
  5. 🍎 Become a part of SuperCoop e.G.

Troubleshooting

  • On macOS, in order to set up a local Python venv, you might have to install Postgresql to get psycopg2 working. Use brew install postgresql for that.

About

Member & shift management system for our cooperative supermarket, SuperCoop Berlin eG

License:GNU Affero General Public License v3.0


Languages

Language:Python 73.4%Language:HTML 25.3%Language:CSS 0.6%Language:TypeScript 0.5%Language:JavaScript 0.2%Language:Dockerfile 0.0%Language:Makefile 0.0%