Need an expert to help you on your Symfony or PHP development project? Contact us and get a quote

Logo Yuka

Yuka: A Healthy, Balanced Symfony Upgrade

Yuka, a leader in global health applications, upgraded from Symfony 4 to 7 with the help of SensioLabs to improve features and reduce technical debt. Read Yuka's success story with Symfony.

A phone with the Yuka application in the hands of a consumer at the supermarket

The company: Yuka

Yuka is a mobile app available on iOS and Android that helps consumers understand food and cosmetic labels so they can make the best choices for their health and the environment.

With a single scan, consumers can access a quick, easy-to-understand assessment via a color code ranging from green to red. A detailed information sheet explains the product's rating and the criteria taken into account, such as nutritional values and additives. Yuka is a collaborative application; users are invited to contribute to the database by adding unknown products.

Yuka currently has information on over 5 million products. Yuka is free and available in France and 12 other countries, mainly in Europe and North America. Over 68 million people worldwide use the app, and over 70 products are scanned by Yuka every second. Yuka is a Tech for Good company and a hyper-growth start-up that helps consumers make better choices for their health and the planet.

The issues

Despite the scope of its mission, Yuka has only a small team responsible for managing and improving such a vast project on a daily basis, with so many products and languages available. The technical team consists of five members, including two of the co-founders. They take full responsibility for the application's technical operation.

Since its inception, Yuka has used Symfony to manage its database and back end, along with an EasyAdmin administration interface and a custom API. The mobile application, which is available on iOS and Android, connects directly to the Symfony application.

Until recently, Yuka remained on Symfony version 4 and EasyAdmin 1 without updating. These versions were outdated. This meant that Yuka's application no longer benefited from new Symfony features, and new bugs were not corrected in this version. Using EasyAdmin 1 presented a significant challenge to the upgrade. EasyAdmin had to be updated in coordination with Symfony. Technical debt was increasing, as were security risks. To adhere to Symfony's best practices, upgrading the version quickly became a necessity.

Yuka's technical team was too small to handle a long-term upgrade while continuing to improve the application on a daily basis. For this reason, Yuka needed the support of Symfony experts to work on the upgrade. At the same time, Yuka's technical team continued to develop the mobile application.

The story

Yuka has significantly revamped its development practices by leveraging the power and flexibility of the latest Symfony versions. Initially based on Symfony 4 with EasyAdmin 1, Yuka gradually upgraded its application to versions 5 and 6, and then to version 7, while simultaneously upgrading EasyAdmin to version 4. The version upgrades also involved transitioning from PHP 7.4 to 8.3 and upgrading Doctrine from version 2 to version 3.

Thanks to SensioLabs experts' proven expertise, these upgrades were orchestrated and executed in the correct order and in accordance with best practices.

Switching to the latest versions of Symfony and EasyAdmin required a lot of code refactoring, mainly because of changing standards and the need to adapt EasyAdmin customization.

Alongside the version upgrades, several actions were completed:

  • Implementing a continuous integration (CI) chain that did not exist before.

  • Standardizing practices with PHPStan, Rector, and PHP CS Fixer.

  • Test coverage was reinforced.

To make sure the code of the application is always high-quality and performs well over time, regular code reviews and non-regression tests were put in place.

Last but not least, the upgrade was an opportunity to contribute to open source, in a highly stimulating spirit of sharing with the community. Open source contributions included third-party bundles such as NzoUrlEncryptorBundle, kreait/firebase-bundle, and Algolia/search-bundle, as well as EasyAdminBundle. These improvements have reduced technical debt and added features that are important for upgrading versions.

The results

Yuka will continue to benefit from Symfony 7 innovations for many years to come.

Thanks to version upgrades, there's no need to rewrite all the code to stay current. Yuka has updated its code base to adapt to the new features of Symfony and PHP. With Symfony's backward compatibility logic, the application will soon be upgraded to Symfony 7.4, the Long-Term Support version maintained until the end of 2028.

Technical debt has been reduced.

Thanks to version upgrades and code refactoring, Yuka has considerably reduced its technical debt. For François Martin, Yuka's co-founder and CTO, it was essential "not to get stuck on an aging version."  With Symfony 7, back-end maintenance is simpler, security patches are current, and recruiting developers with experience in recent versions of the framework is easier.

Yuka's performance is now at its best.

Along with the version upgrade, changing the code has enabled many queries to be cached. This reduced the number of Algolia queries needed to search millions of products.

Need to upgrade your Symfony application to a more recent version?

Follow Yuka and update the version of your symfony application to improve your performance and security, and enjoy the latest innovations in Symfony.

This might also interest you

Toy factory production line

Supercharging Symfony Testing with Zenstruck Foundry

Zenstruck Foundry has revolutionized the way we write tests in Symfony. In this post, you’ll learn how expressive factories, isolated test data, and a smoother developer experience helped us streamline our testing workflow and boost productivity.

Photo speaker meetup AI Symfony

Symfony and AI: the video is now available

What about Symfony and Artificial Intelligence (AI)? This was the theme of the exclusive event organized by SensioLabs in partnership with Codéin on October 3rd. With the added bonus of feedback from a development project combining Symfony and AI. If you missed the event, check out the video now available for free on our Youtube channel.

2025 a year of celebrations for PHP with windows about API Platform, PHP, AFUP and Symfony

2025: a year of anniversaries for PHP, AFUP, Symfony and API Platform

2025 is going to be a big year for anniversaries. We will be celebrating the 20th anniversary of Symfony, the 30th anniversary of PHP, the 25th anniversary of AFUP and the 10th anniversary of API Platform. For SensioLabs, this is a major milestone that proves the longevity of the technologies in our ecosystem. We are proud to celebrate these anniversaries with the community all year long.

Image