A contribution that future developers and users can build upon
Reem Atalah, a backend Engineer from Cairo, Egypt, joined Joomla during Google Summer of Code 2025. In short, she developed a smart, dynamic way to migrate content from WordPress to Joomla. She learned a lot more along the way: in this article she tells us how working for Joomla showed her the power of open source and collaboration.
What attracted Reem to this project was her interest in APIs and backend work. "The work in the project was migrating CMSs using APIs," she tells us. "I graduated from computer engineering, so the software work wasn't hard. The project work meets my knowledge base and experience, which is why I wanted to attend it."
Although she hadn't worked on a CMS before, she had some experience with similar systems: "I worked on ERP; it is similar to CMS in the development way, they are different in the logical meaning, but similar in development."
Rocky start
Despite it being similar to what she knew, there was some frustration in the beginning. Reem didn’t know how to start, what implementation she had to do, what part of her proposal was feasible and what part not. "Preparing my papers was messy at first, but I got it with the help of my mentors," she tells us.
During the project, Reem acted as both a developer and a designer of the migration framework. "My role was to design the architecture, implement the migration pipeline, write mappings and model definitions, and ensure it was extensible for other CMSs. I also contributed tests, documentation, and community updates so the project is maintainable and reusable beyond GSoC."
Technical challenges
The biggest challenges for Reem were designing a flexible mapping system that is not hardcoded to one CMS, and handling differences between CMS data structures ((categories, media, tags, menus, users). She overcame these challenges by breaking the work into smaller deliverables: "Like focusing first on categories, then media, then tags, and so on. I validated each with tests, and refined the mapping format to be JSON-based and dynamic. I used Cypress for end-to-end testing and unit tests for backend logic, which gave confidence that migrations worked as expected. I also relied on regular mentor feedback to stay aligned with Joomla’s goals and the community’s needs."
It’s not just about code
During her time at Joomla, Reem learned a lot. "The importance of good documentation and testing in collaborative environments, that the code is reusable and not buried after GSoC," she says. She continues: "I didn’t work with PHP before contributing to Joomla, but due to the good structure in Joomla, it was easy to learn the differences between PHP and other languages I know. The Joomla structured code made it easy to dive into PHP. I also learnt how CMSs are important and how they are used." But it’s not just about code: "Joomla gave me the opportunity to learn how to collaborate asynchronously in a global community. Migration comes with many unexpected edge cases; I learned patience, how to break problems into smaller pieces, and how to experiment until I found a solution."
When she applied for this project, she wanted to build something useful, something maintainable, and something that leaves a beautiful impression even after the project ends. And that’s exactly what she did: "It’s maintainable because the JSON-based mapping system makes it easy to add support for other CMSs in the future. I am proud of delivering a complete, tested solution that demonstrates the power of model-driven engineering in Joomla, and of contributing something that future developers and users can build upon."
A real-world experience
She would absolutely recommend young people to contribute to Joomla, through GSoC, the Joomla Academy, or otherwise. "Contributing to Joomla gives young developers real-world experience in open-source development - working on production-level code, learning best practices, and collaborating with experienced mentors. Unlike tutorials or classroom projects, contributions here have real impact: you can see your work improving a tool used by thousands of people worldwide. GSoC and the Joomla Academy also provide structured mentorship, which helps beginners grow faster and feel supported."
What Joomla has to offer
Reem describes the Joomla community as very helpful: "The community is welcoming, supportive, and encouraging. From the very beginning, I felt included, and people were always willing to help, review my work, and share ideas. There’s a strong sense of collaboration and respect, which makes contributing enjoyable. I appreciated that my work wasn’t just ‘student work’ but was taken seriously and seen as a real contribution to Joomla’s future."
Joomla has a lot to offer for young developers, Reem says: "Initiative & Freedom: you can propose new ideas and experiment with modern approaches, Joomla encourages innovation. Autonomy: you get ownership of your work while still having guidance for mentors. Your contribution has an impact, your code can directly shape how Joomla is used by the global community. And you are making a difference: working on Joomla means helping an open-source project that empowers people, organizations, and communities worldwide."
Come and join us!
Are you a young developer interested in contributing to open source software that's used by millions of people all over the world? Then we'd love to meet you!
These are the steps you should take to join our community:
- Head over to our Mattermost channel: joom.la/chat
- You'll be redirected to the Joomla Identity Portal, create an account and you'll get added to the Town Square channel on Mattermost
- Search for the channel called New to Joomla? Start here and join that as well (if you can't find it, ask in Town Square)
- Introduce yourself
- Join a New to the Joomla Community Session, they're on the 15th of each month
- We'll help you get settled in and find you a team / project to contribute to!
Some articles published on the Joomla Community Magazine represent the personal opinion or experience of the Author on the specific topic and might not be aligned to the official position of the Joomla Project
By accepting you will be accessing a service provided by a third-party external to https://magazine.joomla.org/

Comments