NICOLÁS BOTTARINI
Pulsar

Pulsar

Year:2022
Industry:
EdTechGovernment
Deliverables:
webbackend
Technologies:
ReactTypeScriptNode.jsApolloGraphQLMoodleWordPress
Technical focus:
TDDMob ProgrammingPair ProgrammingRefactoringLegacy CodeClean Code

Introduction

Pulsar was the educational platform of the R&D+i Agency (Agencia I+D+i) of the Argentine Government. It shared free content about science, technology and innovation, with the goal of democratizing access to scientific knowledge.

When we joined, the platform already existed: a frontend that integrated several backoffice services built with different technologies (a Node.js API with GraphQL, Moodle and WordPress). That made it increasingly hard to add improvements. Our goal was to make improving the platform easy again.

Screens

What we did

We worked embedded in the client's team. I trained the team in the practices we were introducing, and we did the whole refactor together, in mob programming.

The code was very hard to understand: spaghetti and hook hell. To modernize it we applied legacy code refactoring techniques:

  • First we added UI tests, to get coverage and be able to change the code without fear of breaking what worked.
  • With that safety net, we gradually migrated to Presenters, separating the logic from the view and building the models.
  • Along the way we introduced XP technical practices: TDD, pair programming and mob programming.

The project lasted 6 months. The platform was modernized and the client's team was trained to keep evolving it.

This is the presentation video of Pulsar.