GSoC 2024: Rewrite Admin Page components from JSP to React

Greetings Everyone

Project: Rewrite Admin Page components from JSP to React

Project Description: Most of the current Admin page Functionalities are still on the old JSP UI. This project aims at re-writing key admin components from JSP to React including User management, Organization Management, and Provider Management.

Recently, GSoC 2024 results were announced and I am grateful to this organization that they have selected me as a contributor to this project.

Hence, I have created a topic to give/post updates regarding my progress and ask questions if I get stuck anywhere in the middle of problems!

Mentor: @cliff-gita @Moses_Mutesasira and Other maintainers

Thank You
Regards,
Aditya

4 Likes

Thanks @aditya .
We would need to identify the existing admin pages that are still not yet in REact

2 Likes

Week 1 [ 1 may - 10 may 2024 ]

JSP to ReactJs Pages

  • [Barcode Configuration pages] link
  • MVC to Rest Controller converted
  • UI JSP to React
  • [Provider Management pages] link
  • fixed some edge cases

Week 2 [ 11 may - 18 may 2024 ]

More JSP to React Pages conversion

  • [ Organizations Management pages ] link
  • MVC to Rest Controller
  • worked on all sub-pages organizations management page
  • covered edge case
  • [ Opened issues for User Management page] link

Week 3 [ 19 may - 26 may 2024 ]

UI pages implemented

  • figured out few more edge cases on organization management page
  • User Management page [ MVC to rest Controller converted ]
  • React UI 60% done of User Management page
  • PR link
1 Like

Week 4 [ 27 May - 02 June 2024 ]

{ NOTE: Got exam in between }

More UI implementations

  • User Management page 80 % done
  • fixed some edge cases
  • PR link
1 Like

Week 5 [ 03 June - 08 June 2024 ]

{ Note: Done with 70% of EXAMS }

More of UI implementations

  • Implemented pagination on BOTH user & org Management Page
  • EDGE cases found
1 Like

Week 6 [ 09 June - 15 June 2024 ]

Got Organization Management PR merged link

  • learned some serious debugging within the community call thought by @Moses_Mutesasira
  • fixed POST requests in the restController
  • later on found more edge cases to cover [ pagination ]

Week 7 [ 16 June - 22 June 2024 ]

{ Note: Done with the exams }

Working on User Management Page and Pagination on different pages

  • Pagination reusable component [done] PR link
  • Management pages hotfixes
  • Organization Management page [ parent Org selection/displaying with auto-completion implementations ]
2 Likes

Week 8 [ 23 June - 30 Jun 2024 ]

Worked on userManagement Page edge case fixes

  • fixes some MINNOR bugs
  • done with referredOutTest page PR LINK
  • done with Result Reporting Configuration page PR LINK

Current Block : Backed RestController Manuplation fixes of UserManagement Page

Learnt WORKFLOW of batchRetestReAssignment via @Moses_Mutesasira

3 Likes

thanks @aditya for the updates and progress thus far …
About the blocker , we can sync and resolve it

2 Likes

Week 9 [ 1 July - 7 July ]

Worked on Edge Cases of userManagement Page

  • fixes POST error ( on updating of data in backend )
  • learned some more debugging on OPENELIS codebase via @Moses_Mutesasira
  • fixed some bugs PR link

In coming weeks : I will be working on BatchReTestAndReAssignment

Will be fully offline for 2 days [ 9 & 10th July ] Due to some personal reasons

4 Likes

Week 9 [ 8 July - 14 July ]

currently working on the Batch Test Re-Assignment page PR

  • working on converting AJAX calls to rest calls
  • converting main and supportive Controllers to Rest Controllers
  • fixing edge cases
  • handling workflow

In the coming week I will try to complete this page and work on other remaining pages : )

2 Likes

Week 10 [ 15 July - 21 July ]

Solved some bugs on UserManagementPaga

  • notification added PR
  • validation added PR
  • fixed save button {enabled by initial rendering} PR

Worked on Post Request of batchTestReAssignment restController will try to complete this page in the coming weeks : )

1 Like

Week 11 [ 22 July - 28 July ]

Worked on TestNotificationConfigMenu/Edit Page PR

  • UI page done watch workflow in PR
  • Converted MVC to Rest Controllers
  • Rewritten JSP pages to ReactJs
  • created function
    many more updates

Will work on the POST/UPDATE request of both batchTestReAssignment & testNotificationConfig pages Rest Controller in the coming week and try to complete these pages :slightly_smiling_face: : )

3 Likes

Week 12 [ 29 July - 4 Aug ]

Working on initializing the test managemnt config menu page PR

  • worked on initializing all MVC controller to Rest Controller
  • non recursive and recursive page initlized [ JSP to React ]
  • lang fix [en ,fr ] implemented
  • breadcrum based routing fixes { according to old paged }
  • structured the routing and path { just like old admin pages have }

On the coming week I will be working on each pages/sub-pages and implement the things which are left to implement { functions , data fetching , displaying , etc } basically implementation of functions of old UI to New UI : )

4 Likes

Week 13 [ 05 Aug - 11 Aug ]

Worked in TestManagementConfigMenu Page ( reusable component ) PR

  • wroked on Test Names Rename Page ( POST / update request Done )
  • and initialized remaining RestControllers of some main pages routes
  • initialized some of the RESET restControllers ( which does the updates for separate RENAME pages )

In the coming week will try to complete all the rename pages and complete all he UPDATE/POST requests.

4 Likes

Week 14 [ 12 Aug - 18 Aug ]

Worked on TestAddPage progress PR

  • worked on UI and State Management of LIST
  • added FROM structure and Functions \
  • Implemented LANG [en, fr]

In Coming week will try to complete the TestAddPage and Sum up with POST/Update request for this page !

3 Likes

Week 15 [ 19 Aug - 25 Aug ]

Work on documenting the Final Report For GSOC 2024

Blocker : Stuck on post/update request of testNotificationConfigMenu page

In Comming week will try to complete the TestAdd Page and Initialize the TestRename Page.

3 Likes