Outreachy project published

I am pleased to announce our project in Outreachy. Currently we are looking for an intern.

Project registration: Improve the code quality of the Perl backend of Open Food Facts

Project Description

Improve the code quality of the Perl backend of Open Food Facts

Open Food Facts is a Wikipedia for food products: a collaborative database of food products, with a backend written in Perl.

Over the last 8 years, the Open Food Facts code base has grown a lot organically, which makes contributing not very welcoming for developers, and sometimes also causes performance issues and bugs.

This project is to improve the architecture, performance, code quality, tests and documentation of an important project that badly needs it!

Internship Tasks

It's important to note that Open Food Facts is a running project with millions of users every month, so finding the right way to do things is only the beginning: it will also be necessary to find the right way to get there. In practice, it will be better to make small incremental changes that can be gradually deployed with minimal risk.

The project could include some of the following:

  • Replacing the generation of HTML by a templating system like Template::Toolkit
  • Extending the existing documentation in POD format
  • Re-architecturing the Open Food Facts Perl modules and functions, possibly making some of them more generic and publishing them on CPAN.
  • Extending the coverage of unit tests
  • Making it easier to install a dev environment for Open Food Facts
  • and more!

Project Contribution Information

As part of the application process, all applicants must make at least one contribution to be accepted as an intern for this project. Only applicants who make a contribution will be eligible to be accepted as interns.

Applicants can contribute to this project through the project repository or contribution page. The project uses an issue tracker to keep information about bugs to fix, project features to implement, documentation to write, and more.

Please join the Open Food Facts community on Slack, introduce yourself there and get familiar with the project.

A good way to do that is to open your fridge or cupboard to find a food item to scan with our Android or iOS application. Open Food Facts works like Wikipedia. The food product may already be in the database with its data completed. If it’s present, you will get valuable information about its nutritional quality (Nutri-Score) or its level of food processing (NOVA). If it’s not present yet, please take some pictures and add it!

On the Open Food Facts Slack, you can introduce yourself in the #general channel and the channel dedicated the the Perl backend: #productopener (Product Opener is the code name of the Perl backend).

My username on Slack is @stephane, please do reach to me when you join the Slack.

Our code base is on Github: https://github.com/openfoodfacts/openfoodfacts-server

How do I work with the Perl & Raku community?

Outreachy applicants can get help and feedback from both mentors and community members. Community members discuss their contributions in a public chat. Outreachy applicants can often learn from those discussions.

Please introduce yourself on the public project chat:

Then introduce yourself on #general, join the #productopener channel and message me (@stephane).

Outreachy mentors will often be in the community public chat. The project mentor's