2023-07-13 Developers Deep Dive Call
Overview
Date: 2023-07-13
Objective: Weekly space for deep dive topics
Participants: (kindly only add your own names, not those of other participants)
@Uwe Wahser
@Wojciech Zgliniecki (Deactivated)
@Eric Darchis
@Thibault Dethier
@Dragos Dobre
@Sylvia Mwelu
Topic Proposals:
Server Side rendering (SolDevelo)
Server Side rendering (SolDevelo)
https://docs.google.com/presentation/d/1S743L9X9LK5UEPx1wyfro3-kaYpqxNbpAuclK9K_Hoc/edit?usp=sharing
Presentations / Attachments
Minutes
Create-react-app is currently used to bundle the app but it has been basically abandoned for a few years.
Create-react-app could be replaced with Vite that is the most widely adopted one
Change would be a good occasion to add automated front-end testing
Options:
JEST
VITEST
Frontend unit tests wouldn’t check more complex logic, but rather focus on confirming that base functionalities and views are not breaking.
Solutions for automated regression testing will be discussed during next deep dive meeting.
Frontend code standards:
We should opt for hooks wherever possible, class-based components are no longer preferred
On several openIMIS modules there is eslint attached (Example) which makes it easier to ensure standards. However, for older modules like claims and policies eslint check results in the files that are invalid as a whole an a lot of rework would be required. We could potentially exclude existing files from the check, it’d quicker but also require some effort.
Conclusion
We should move to VITE
We should add basic unit tests to ensure that critical features don’t break
Testing framework is open. Vitest seems logical but nobody objects to Jest or others
We need more evidence that this is not breaking anything
What is the budget needed and who can fit it in their project?
Has to be done before next release
Additional Resources
Did you encounter a problem or do you have a suggestion?
Please contact our Service Desk
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. https://creativecommons.org/licenses/by-sa/4.0/