2023 Technical Kick-off
TL;DR;
We have identified the subjects that should be addressed in priority in 2023:
- Increase the maintainability of our frontend projects: product-improvements/issues/3177
- Eliminate the dependencies that put the project at greatest risk: product-improvements/issues/3181
- Consolidate communication between workers via a broker: product-improvements/issues/3180
- Rethink our API production and consumption strategy: product-improvements/issues/3179
- Microservices built from tools more suited to certain tasks: product-improvements/issues/3178
Introduction
During this roundtable, we have discussed the technical topics we want to address in 2023. The goal are:
- Identify the topics we want to address
- Identify 5 priority topics
- Relatively prioritize these different subjects
- Define a leader in charge of moving these subjects forward
Topics to be discussed
- Subject 1: Increase the maintainability of our frontend projects (Rethink our test strategy and the architecture of our projects, reconsider the tools and languages we use - Explore alternatives to ReactJS, consider tools like React Query, migrate to the latest version of Ant Design, ...)
- Subject 2: Improving our development and deployment processes - Deploy environments dedicated to each features and developer specific environment
- Subject 3: Rewrite some portions of the codebase
- Subject 4: Rethink the organization of our projects - Module vs multitude of projects inside a monorepo
- Subject 5: Microservices built from tools more suited to certain tasks (XML / XSLX document processing)
- Subject 6: Improve the quality of our technical documentation
- Subject 7: Rethink our API production and consumption strategy (consider the generation of SDKs via the OpenAPI generators, explore tools like tRPC, consider the adoption of the microservice architecture recommended by NestJs, etc.)
- Subject 8: Explore the advantages and disadvantages of switching to the NestJs monorepo solution
- Subject 9: Complete entity migrations from mongodb to mariadb
- Subject 10: Consolidate communication between workers via a broker.
- Subject 11: Eliminate the dependencies that put the project at greatest risk (in particular TypeORM)
Identification of the highest priority topics
The 5 topics on which we have decided to focus our discussions are as follows:
- Subject 1: Increase the maintainability of our frontend projects (Rethink our test strategy and the architecture of our projects, reconsider the tools and languages we use - Explore alternatives to reactjs, consider tools like React Query, migrate to the latest version of antd, ...)
- Subject 5: Microservices built from tools more suited to certain tasks (XML / XSLX document processing)
- Subject 7: Rethink our API production and consumption strategy (consider the generation of SDKs via the OpenAPI generators, explore tools like tRPC, consider the adoption of the microservice architecture recommended by NestJs, etc.)
- Subject 10: Consolidate communication between workers via a broker.
- Subject 11: Eliminate the dependencies that put the project at greatest risk (in particular TypeORM)
Board Miro - Kick-off 2023 - Part 1
Prioritization of the subjects and organization of the work
The medium we used for this exchange: Board Miro - Kick-off 2023 - Part 2
Subject 1 - Increase the maintainability of our frontend projects
Identified benefits
- Fewer application regressions
- Reduced development times
- Safer deployments
- A more maintainable application
- Shorter QA time
Identified risks
- In the event of a sudden migration to new tools, we identify a high risk of introducing regression
- staying in the current situation means an impossibility to migrate to recent versions of ReactJs and Ant Design
- Lack of confidence when adding changes because of weak tests
Conclusion
- Nicolas will be in charge of this subject
- This Github Issue will be used to track the progress of this subject: product-improvements/issues/3177
Subject 5 - Microservices built from tools more suited to certain tasks
Identified benefits
- Less maintainability problem if the community is more present on the tools we have selected
- Faster development if the language offers more suitable tools
- Potentially upside performance
- More attractive for potential future candidates for a developer position
- Faster developments
Identified risks
- Potentially high migration costs
- More language potentially means more difficulty to recruit, more difficulty to work effectively as a team
- Doing nothing means potentially being blocked in the long term by an aging and not maintained environment
- Important migrations can cause regressions
- Doing nothing for Data Factory "FTP" task means not being able to migrate to the Node.js 18 platform
- More languages equals more complexity for CI/CD, more tools to maintain (test runner, etc..)
Conclusion
- Sebastien will be in charge of this subject
- This Github Issue will be used to track the progress of this subject: product-improvements/issues/3178
Subject 7 - Rethink our API production and consumption strategy
Identified benefits
- More readable code
- Clearer to compare specs and what's been developed
- Shorter cycles before full deployment
- Better code quality
- Fewer things to maintain
- Less product code = faster team
Identified risks
- Potentially high migration costs
- Extra layer of complexity that's handled outside of code
- A potentially high migration cost
- Performance gains that are not demonstrated
Conclusion
- Nicolas will be in charge of this subject
- This Github Issue will be used to track the progress of this subject: product-improvements/issues/3179
Subject 11 - Eliminate the dependencies that put the project at greatest risk
Identified benefits
- More maintainable (simpler future migration?)
- In the case of the deletion of TypeOrm: A more suitable solution and less complicated to maintain
Identified risks
- If nothing is done: inability to update some major tools
- If nothing is done: Risk that some key tools for our projects will no longer be maintained
- Our test coverage does not allow us to migrate without regressions
Conclusion
- Sebastien will be in charge of this subject
- This Github Issue will be used to track the progress of this subject: product-improvements/issues/3181
Subject 10 - Consolidate communication between workers via a broker.
Identified benefits
- Simplify Monitoring
- Flexibility, allows new microservices to be connected more quickly
- More resilient (the broker guarantees that a message will be consumed)
- Less latency than an HTTP request as there is no pooling
- Easier unit tests to write
- Easier to split up functionalities and have composition for features
Identified risks
- Slower response times
- A migration project difficult to estimate
Conclusion
- Ryan will be in charge of this subject
- This Github Issue will be used to track the progress of this subject: product-improvements/issues/3180
Prioritization of the subjects
We have established a first group of subjects that should be addressed first. This group is composed of the following subjects:
- Subject 1: Increase the maintainability of our frontend projects
- Subject 11: Eliminate the dependencies that put the project at greatest risk
- Subject 10: Consolidate communication between workers via a broker
After those subjects are addressed, we will be able to address the following subjects:
- Subject 7: Rethink our API production and consumption strategy
- Subject 5: Microservices built from tools more suited to certain tasks
Effort / Impact estimation

Conclusion
We have identified the subjects that should be addressed in priority in 2023:
- Increase the maintainability of our frontend projects: product-improvements/issues/3177
- Eliminate the dependencies that put the project at greatest risk: product-improvements/issues/3181
- Consolidate communication between workers via a broker: product-improvements/issues/3180
- Rethink our API production and consumption strategy: product-improvements/issues/3179
- Microservices built from tools more suited to certain tasks: product-improvements/issues/3178