n this project, I worked as a senior front-end developer in the core team. We had up to 10 developers in the team.
There were about 5 teams in this project, they were divided into logical modules.
I mostly was engaged in code refactoring, for example:
1. Created a new major version of the datagrid.
2. Created a new front-end project with components and integrated it as a package
3. Created new components, the most complex of which was an overlay with routing
Brought the best development practices where I could (primarily to projects that he created / recreated). Such as:
1. eslint
2. prettier
3. unit-tests + coverage
I have been doing code reviews, profiling, and speed performance tweaks, problem- solving, pair programming. Also improved test coverage of project along with teaching rest of the team on advanced testing.
One of the most interesting part of the work was an improvement in development speed. To do that I have suggested to split project to packages.
The fact is that a lot of people are working on the project. This creates problems like this:
1. merging (about 50-100 commits per day)
2. multiple people editing the same code at the same time
3. lack of documentation, which leads to incorrect use of components
etc..
In addition to resolving conflict situations, the splitting into packages helped to speed up the development also in terms of launching the project. A small project is very easy to start and modify. Also, we made the development based on examples. So when you add a feature - you describe a new example, you debug there. We get convenient documentation.