Background
There's a lot of tech debt across TIS. In FE this is the case too.
Over time, some FE devs have tried to address the tech debt, with varying degrees of success and completion.
The result is an FE beast with duplicated elements in places, that need converging into one agreed solution, and multiple areas where the codebase needs bringing up the date (e.g. Angular 5 Apps containing non-Angular 5 code, and other Apps that aren't yet Angular 5 that need re-writing with Angular 5)
Relevant data
Things that need addressing are:
Different versions of Angular in use
Removal of dependency on jHipster scaffolding
Aligning the filing structure to match best practice for Angular 5
Tidy up the SCSS folder and code
Where to apply global and local styles
Tidying up of a plethora of tests and test approaches
NGRX - observable
Options considered
Option 1: | Option 2: | Option 3: | Option 4: | |
---|---|---|---|---|
Bringing all elements in TIS up to the same, current version of Angular | V5 | V6 | V7 | V8 |
Pros and cons | Admins UI is v5 and the biggest element of TIS. Getting everything to v5 would mean we could then upgrade all of TIS to later versions of Angular more easily v5 is already 2 full versions behind the current stable version of Angular (v7). Admins UI contains lots of non-Angular v5 code within it that will need to be converted to Angular v5 first | More modern version of Angular opens up new features and addresses issues from v5 Admins UI is now Angular v6, but bringing Reval up to v6 is a large task | More modern version of Angular opens up new features and addresses issues from v6 No element is using Angular v7 yet, so bringing all of TIS up to v7 is a huge task | More modern version of Angular opens up new features and addresses issues from v7 No element is using Angular v8 yet, so bringing all of TIS up to v8 is a huge task |
Estimated cost | MEDIUM | LARGE | LARGE | LARGE |
Status | IN PROGRESS - Admins UI DONE, Reval TO DO | IN PROGRESS - Admins UI DONE, Reval TO DO | TO DO | TO DO |
Action items
- Update Admins UI code to Angular v5
- Update Admins UI code to Angular v6
- Update Admins UI code to Angular v7
- Update Admins UI code to Angular v8
- TISNEW-2498: Re-write Angular 1.2/1.5 apps (Reval | Concerns Log | Notifications | Common Components) to Angular v5, and upgrade to v6, v7 and v8
- TISNEW-2503: Remove dependencies on jHipster scaffolding
- TISNEW-1650: Move to standardised file structure for Angular v5, v6, v7, v8 - (Panos Paralakis (Unlicensed), Oladimeji Onalaja (Unlicensed), Tuomas Alahäivälä (Unlicensed) - does this need to be defined clearly somewhere, in order to give a consistent reference point?)
- Tidy up SCSS folder, files and code (Panos Paralakis (Unlicensed), Oladimeji Onalaja (Unlicensed), Tuomas Alahäivälä (Unlicensed) - does this need to be defined clearly somewhere, in order to give a consistent reference point?)
- Decide when global components are preferable, and where TIS would benefit from local styles
- Tidy up tests - protractor, cucumber, etc (Panos Paralakis (Unlicensed), Oladimeji Onalaja (Unlicensed), Tuomas Alahäivälä (Unlicensed) - does this need to be defined clearly somewhere, in order to give a consistent reference point?)
- NGRX - observable (Panos Paralakis (Unlicensed), Oladimeji Onalaja (Unlicensed), Tuomas Alahäivälä (Unlicensed) - please turn this item into a specific action)
0 Comments