My First Week Contributing to Debian: Outreachy Contribution Phase Experience
Description and use
During the first week, the contributor set up a local development environment for the Debian DebConf/MiniDebConf project, added Yoruba translations, and replaced a JavaScript‑dependent certificate validation page with a server‑side Django view, adding tests.
Problem
Setting up a Django-based Debian project locally and contributing translations and a server‑side certificate validation feature during the Outreachy contribution phase.
Outcome
The contributor successfully set up the local environment, added Yoruba translations, and replaced a JavaScript‑only certificate validation page with a robust Django view, adding tests and removing the static view.
Workflow
- Clone the dc27 repository
- Create a Python virtual environment
- Install dependencies from dependencies*.txt
- Run database migrations
- Start the local development server
- Translate .po files for certificates and minidebconf apps
- Compile messages with python manage.py compilemessages
- Submit merge requests on Salsa
- Replace JavaScript certificate validation with a Django view
- Update validate.html with template tags
- Remove static view from BAKERY_VIEWS
- Add comprehensive tests for certificate validation
Evidence
Setting up involved: Cloning the dc27 repository, Creating a Python virtual environment, Installing dependencies from the dependencies*.txt files, Running database migrations, Starting the local development server
The first issues I worked on were translation tasks. The mentor, Antonio Terceiro, opened a meta‑issue inviting contributors to translate system messages into their native languages.
The third contribution for the first week was more technical. The certificate validation page on the DebConf website previously relied entirely on JavaScript to work.
I replaced BuildableTemplateView with a standard Django View class. The new view accepts a vk (validation key) parameter from the URL query string, queries the Certificate model directly, and passes the result to the template via context.
Added a full test suite covering valid attendee certificates, valid speaker certificates, valid volunteer certificates, invalid keys, and missing parameters.
- Record date: 2026-10-19T10:41:33.223Z