Skip to content
Théophile MADET edited this page Oct 21, 2025 · 47 revisions

Welcome to the Tapir wiki!

Goals

This wiki aims to:

  • facilitate the onboarding of new members
  • enable current developers to do more
  • ensure the maintainability of Tapir through time and changes within the team

In order to work toward those goals, we intend to document how to develop, test, and deploy Tapir.

An overview of previous documentation efforts is available on this page.

Getting started...

... with Python and Django

Resources to get started with Python and Django

... on your machine

How to setup your development environment: run Tapir on your local machine and configure your IDE

... with Tapir

Learn by example: walking through the most common used features to understand how they are setup

Tapir has evolved a lot since it's beginnings in 2021. Some parts of it are of lesser quality. Don't hesitate to question everything you see and suggest improvements.

Going further

Release process

How do we go from a feature request or a bug report to a new version being deployed to the production server?

Automated tests

Debugging

Frontend

Most of our frontend is done with standard Django templates. You can find the files in the respective templates folders of each app, for example the member's list is at tapir/coop/templates/coop/shareowner_list.html. See this dedicated page to learn more about how we use Django templates in Tapir.

We are progressively adding React for more complex or more interactive pages. React files are under src, for example the welcome desk is under src/welcome_desk/WelcomeDeskCard.tsx. See this dedicated page to learn more about React in Tapir.

Mobile

Most of Tapir's frontend is not mobile friendly. The member profile displays okayish on phones, but that's about it. As with any other parts, you are very welcome to suggests improvements in that direction. The priority would go toward pages that normal members use: the member profile, the shift calendars and the stats page. Pages that are used by the member office have less priority since member office work is usually done on computers rather than phones.

Accessibility

We have not invested time in making Tapir accessible for example for people with low vision. As with other the other themes, it is mostly a question of time and energy, but in that case it is also a question of experience. If you have accessibility needs yourself or if you have experience making pages accessible, even as a non-developer, please contact us.

Misc

Missing

  • Misc points to address:
    • LDAP
    • Scheduled tasks with Celery
    • Sending emails
    • Keeping track of changes with LogEntry models
    • Translations
    • Deployment (meeting on the 25.06.24: https://supercoopberlin.slack.com/archives/CHNUD32JJ/p1717685190055969)
    • How to get informed when errors happen on production (receive an email with the stacktrace automatically)
    • How to use GitHub, where to look for stuff...
    • Faster page load with less database requests, silk profiling

Clone this wiki locally