Outreachy Internship Update


As part of my Outreachy internship with the Fedora Project, I'm building an API to modernize how Fedora plans its release cycles.
With the help of my mentor, Tomáš Hrčka, the goal is to replace the current XML-heavy system on pagure.io with something flexible, easy to use, and well-structured.
Explore the source code on Codeberg: Fedora Release Schedule Planner.
Why This Project Matters
Fedora’s current release planning tools rely on manual XML editing, which is challenging for newcomers and difficult to scale. This project aims to:
Improve contributor experience with interactive API documentation.
Support seamless querying and updating of release data.
Allow smoother integration with Fedora’s broader tooling.
Progress Highlights
Framework migration:
Code refactor:
Adopted modular architecture with clean routing (PR Link)
Standardized endpoint naming
CI/CD setup:
- Integrated a CI pipeline using Forgejo Actions for automated testing (PR Link)
These changes already make onboarding contributors easier and improve testability.
What’s Next
I’m excited about these upcoming milestones:
Refining and aligning tests with the FastAPI structure.
Integrating with Fedora infrastructure for live data.
Strengthening the deployment pipeline for production.
Challenges
My biggest challenge and opportunity is simultaneously learning new backend technologies, such as FastAPI and OpenID Connect for authorization, along with techniques to improve developer onboarding. Though the learning curve is steep, my mentor’s continuous guidance on the Fedora infrastructure, career development, and general advice makes it manageable.
Reflections
This internship has been an incredible learning experience. I’m gaining hands-on exposure to backend architecture, continuous integration practices, and open-source collaboration. More importantly, the chance to build something lasting for Fedora makes the work genuinely rewarding.
There’s a lot left to tackle, and I’m looking forward to pushing it further.
Subscribe to my newsletter
Read articles from Antony Nyagah directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Antony Nyagah
Antony Nyagah
I am a passionate software developer who is always eager to learn new things.I use mostly Python and JavaScript in my day-to-day work environment and am looking to share on what I am learning and the issues I face.