Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Extra work and potential future problems resulting from choosing an easy or limited solution now instead of using a better approach that might take longer or be more costly. Similar to financial debt, technical debt incurs "interest" that can make future changes more difficult and costly if not managed or "paid off."

Issue

Description

Priority

Impact

Estimated Effort

Notes

Task

Use SonarQube / SonarCloud

Sonar will generate reports of vulnerabilities

Medium

Low

Low

https://docs.sonarsource.com/sonarcloud/getting-started/github/

Global - Project structure

Project need to create a simple structure. Like simplify some API

Very High

Possible regression

Very High

When this work will be done, the project will be more simple

https://gist.github.com/gitaarik/8735255

Move business logic out of API into libraries

This includes potentially simplifying code

API - Unit tests

Two things - We need to simplify code and create unit tests on business code

High

Possible regression

Very high

Global - Add jsdoc and comment

High

No impact

Very High

Lint - semi colon required

Add rule on linter configuration and add semi when is missing

Low

No impact

Easy

This issue can create some execution error like

Code Block
console.log(42)
`1,2,3`.split(',')

This code provide an error

Upgrade React-Admin

Move out of version 3.19 to 5

Medium

High

Medium

Admin - Remove deprecated props on react

Some props are deprecated and will be deleted on future versions

Medium

Medium

Medium

Remove browser log

When you show debugger on your browser, lot of error log spawn

Medium

High

High

Check validity email

We need to check validity of email when user log in on Play

Very high

Very low

Low

All projects expect interface project - vscode or other software - add debug config

Add debug config will be facilitate code inspection and tracking issue

Very high

No impact

Medium

Need to list IDE who each team member using

Global - Project structure

Project need to create a simple structure. Like simplify some API

Very High

Possible regression

Very High

When this work will be done, the project will be more simple

https://gist.github.com/gitaarik/8735255

File with certificate key

This file should be delete and not push on repository. We can ignore this file on gitignore and generate new pem file if isn’t here

Very high

Low

Low

https://github.com/Spordle/Play/blame/2500cb41ab0804ec945e07fcd23adb4ec692cf8e/api/src/server/rds-combined-ca-bundle.pem#L4

Increase versions

Update node version, and libraries version to increase security

Very High

Big impact, need to retest all project

Very high

Global - using ecmascript version

Unify javascript code for using module

High

Possible low regression, but if the code run, we have no impact

High

Admin - add context on react

We need to add react context to pass object through components

High

Very high

High

Need to restructure the

code

API - Unit tests

Two things - We need to simplify

code

and create unit tests on business code

High

Possible regression

Global - Add jsdoc and comment

High

No impact

Very High

Very high

Migration outside of Loopback V3

Medium

Possible regression

Epic

Authorization might be one of the biggest challenge during the migration.

API - Routes

Create file for express routes. Currently, routes are on multiple files and create complex comprehension of routes

Medium

Possible regression

High

Need reverse engineering to get routes

API - Separate handler

When routes will be create with express routes, we need to separate handler to simplify code and review

Medium

Possible regression

High

Same as routes. We can do this work by route. Once at a time

Global - babel and jest

Remove jest and babel from global workspace. Place it on each project

Medium

Low

Medium

TODO

Remove TODO and do TODO

Medium

Medium

High

Replace webpack by vite

Vite build fast and the bundle generated is light

Medium

Low

Medium

Admin -

Remove

deprecated props on react

Some props are deprecated and will be deleted on future versions

Medium

Medium

Medium

Remove browser log

When you show debugger on your browser, lot of error log spawn

Medium

High

High

Use SonarQube / SonarCloud

Sonar will generate reports of vulnerabilities

Medium

Low

Low

https://docs.sonarsource.com/sonarcloud/getting-started/github/

Remove

legacy “drafts” code

Remove anything related to the legacy drafts (Draft model)

Low

~8 points

Export scoresheet, reports on another repository

Each project should have own project. This task will simplify maintenance

Low

Low

High

Python script to node script

Transform and export on another project python scripts on scripts/release_production.py by node script

Low

Low

Low

AWS lambda ?

Lint - semi colon required

Add rule on linter configuration and add semi when is missing

Low

No impact

Easy

This issue can create some execution error like

Code Block
console.log(42)
`1,2,3`.split(',')
This code provide an error

False imports

Some imports couldn't be importable. This issue should be done after restructuring

Very low

Depends of structure

Depends of structure

Ex :

Code Block
require(`@hisports/web/babel.config`)

Replace MUI

Replace MUI and create our own ui kit

Very low

High

High

Split modules in React

try to split modules on react project to create multiple sub bundles and minimize size. Using lazy routes

Medium

Very High

Very High

Objective : limit bundle size

Charge test

Charge test and limit test of endpoints on api

High

High

High

Need restructure

Change angular to React

Merge bundle angular and react to react only

High

High

Very high

Objective : limit bundle size

Rendering component

Lot of components rendering without display changing. We need to limit rendering components

Medium

High

High

Do magic things

Limit code in react is essential to limit bundle size. So we can do magic who do everything. And refactor as maximum possible. With lot of doc

Medium

High

High

Objective : limit bundle size

Fix UI/UX

We should fix some ui components like header. ex : When scrollbar is present, the header resize them. He should be fixed and not influence by the scrollbar

Medium

Low

Medium