-
Notifications
You must be signed in to change notification settings - Fork 30
Home
Welcome to the Tapir wiki!
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.
Resources to get started with Python and Django
How to setup your development environment: run Tapir on your local machine and configure your IDE
Learn by example: walking through the most common used features to understand how they are setup
- How to add a page: URLs, Views, templates
- How are members created: Models, forms, permissions, validation
- Shifts:
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.
How do we go from a feature request or a bug report to a new version being deployed to the production server?
- Original draft proposal: https://etherpad.wikimedia.org/p/supercoop-tapir-release
- Formalized page: https://github.com/SuperCoopBerlin/tapir/wiki/Feature-development-process-and-tracking
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.
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.
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 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