# GSoC 2024: Rewrite Admin Page components from JSP to React

**URL:** <https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729>\
**Category:** GSOC\
**Tags:** gsoc2024\
**Created:** [May 6, 2024, 8:17pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729 "2024-05-06T20:17:50Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [May 6, 2024, 8:17pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/1 "2024-05-06T20:17:50Z")

</div>

## 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

---

<div class="post-metadata">

**Author:** ![Moses\_Mutesasira](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.openelis-global.org/moses_mutesasira/32/72_2.png) [@Moses\_Mutesasira](https://talk.openelis-global.org/u/Moses_Mutesasira)\
**Post date:** [May 7, 2024, 7:10am UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/2 "2024-05-07T07:10:05Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [May 18, 2024, 7:02pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/3 "2024-05-18T19:02:08Z")

</div>

Week 1 [1 may - 10 may 2024]

**JSP to ReactJs Pages**

- [Barcode Configuration pages] [link](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1026)
- MVC to Rest Controller converted
- UI JSP to React
- [Provider Management pages] [link](https://github.com/I-TECH-UW/OpenELIS-Global-2/issues/1006)
- fixed some edge cases

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [May 18, 2024, 7:08pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/4 "2024-05-18T19:08:07Z")

</div>

Week 2 [11 may - 18 may 2024]

**More JSP to React Pages conversion**

- [Organizations Management pages] [link](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1040)
- MVC to Rest Controller
- worked on all sub-pages organizations management page
- covered edge case
- [Opened issues for User Management page] [link](https://github.com/I-TECH-UW/OpenELIS-Global-2/issues/1042)

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [May 26, 2024, 9:30pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/5 "2024-05-26T21:30:21Z")

</div>

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](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1048)

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [June 2, 2024, 6:21pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/6 "2024-06-02T18:21:15Z")

</div>

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](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1048)

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [June 8, 2024, 6:05pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/7 "2024-06-08T18:05:05Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [June 19, 2024, 7:17am UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/8 "2024-06-19T07:17:54Z")

</div>

Week 6 [09 June - 15 June 2024]

#### Got Organization Management PR merged [link](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1040)

- 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]

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [June 19, 2024, 7:23am UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/9 "2024-06-19T07:23:08Z")

</div>

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](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1123)
- Management pages hotfixes
- Organization Management page [parent Org selection/displaying with auto-completion implementations]

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [June 30, 2024, 1:14pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/10 "2024-06-30T13:14:29Z")

</div>

Week 8 [23 June - 30 Jun 2024]

Worked on userManagement Page edge case fixes

- fixes some MINNOR bugs
- done with referredOutTest page PR [LINK](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/786)
- done with Result Reporting Configuration page PR [LINK](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1145)

Current Block : Backed RestController Manuplation fixes of UserManagement Page

Learnt WORKFLOW of batchRetestReAssignment via @Moses_Mutesasira

---

<div class="post-metadata">

**Author:** ![Gita\_cliff](https://yyz2.discourse-cdn.com/flex030/user_avatar/talk.openelis-global.org/gita_cliff/32/478_2.png) [@Gita\_cliff](https://talk.openelis-global.org/u/Gita_cliff)\
**Post date:** [July 2, 2024, 8:32am UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/11 "2024-07-02T08:32:35Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [July 5, 2024, 11:07pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/12 "2024-07-05T23:07:53Z")

</div>

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](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1165)

In coming weeks : I will be working on BatchReTestAndReAssignment

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

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [July 13, 2024, 8:05pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/13 "2024-07-13T20:05:56Z")

</div>

Week 9 [8 July - 14 July]

currently working on the Batch Test Re-Assignment page [PR](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1166)

- 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 : )

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [July 20, 2024, 7:41pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/14 "2024-07-20T19:41:26Z")

</div>

Week 10 [15 July - 21 July]

Solved some bugs on UserManagementPaga

- notification added [PR](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1183)
- validation added [PR](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1192)
- fixed save button {enabled by initial rendering} [PR](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1198)

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

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [July 27, 2024, 9:45pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/15 "2024-07-27T21:45:30Z")

</div>

Week 11 [22 July - 28 July]

Worked on TestNotificationConfigMenu/Edit Page [PR](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1204)

- UI page done watch workflow in [PR](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1204)
- 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 🙂 : )

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [August 5, 2024, 6:42am UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/16 "2024-08-05T06:42:55Z")

</div>

Week 12 [29 July - 4 Aug]

Working on initializing the test managemnt config menu page [PR](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1215)

- 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 : )

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [August 12, 2024, 7:41pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/17 "2024-08-12T19:41:17Z")

</div>

Week 13 [05 Aug - 11 Aug]

Worked in TestManagementConfigMenu Page ( reusable component ) [PR](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1215)

- 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.

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [August 20, 2024, 8:15am UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/19 "2024-08-20T08:15:54Z")

</div>

Week 14 [12 Aug - 18 Aug]

Worked on [TestAddPage](https://localhost/api/OpenELIS-Global/TestAdd?) progress [PR](https://github.com/I-TECH-UW/OpenELIS-Global-2/pull/1215)

- 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 !

---

<div class="post-metadata">

**Author:** ![aditya](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@aditya](https://talk.openelis-global.org/u/aditya)\
**Post date:** [August 23, 2024, 8:25pm UTC](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react/729/20 "2024-08-23T20:25:21Z")

</div>

Week 15 [19 Aug - 25 Aug]

Work on documenting the Final Report For GSOC 2024

- [GIST](https://gist.github.com/adityadeshlahre/ee28a4c6100788ae23196e8e2394738f)
- [Presentation Topic](https://talk.openelis-global.org/t/gsoc-2024-rewrite-admin-page-components-from-jsp-to-react-final-presentation/840)
- Conditional Rendering of (Sample List & Entry Name -Order) simple UI changes

**Blocker : Stuck on post/update request of testNotificationConfigMenu page**

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