GSoC 2024 : Validation Rule Builder for the form builder Progress Update

Hello everyone, I’ve been selected as a GSOC Student for the project Validation Rule Builder for Form Builder. I’ll be using this thread to share my work progress and my blog post.

Mentors:

Primary mentor: @dkigen

Backup mentor: @hadijah315

Objectives of the project:

• Developing an efficient User Interface Validation Rule Builder for the React Form Engine.

• Transitioning to React-hook-form and utilizing its capabilities for validation logic.

• Enabling the Validation rule-builder to accommodate helper functions and JavaScript expressions.

1 Like

Hello folks,

I’m excited to share my community bonding journey with all of you through this blog. The memory of my first GSoC Orientation program remains vivid, thanks to the incredible session led by @jayasanka and @grace.

1 Like

Hello forks, Here is the blog post for the second week of my GSoC Journey.

1 Like

Sharing my 3rd blog on community experience.

1 Like

@pauladams @cduffy . Here is the final design of the rule builder for the form builder. Utilized Figma and carbon design system. Adding a small demo also. Your feedback on these would be helpful. cc: @grace , @cduffy , @pauladams , @dkigen , @hadijah315

Demo:

Draft PR:

1 Like

My Coding Journey:

Week 01: May 27 - June 01, 2024

  • Created EPIC for my project

  • Updated Project Wiki Page

  • Created my first draft PR

  • Demo of recent work on my project

  • First blog post of coding period

Week 02: June 03, 2024 - June 08, 2024

  • Received feedback on my GSoC progress from my primary mentor, @dkigen. Shared a demo of my project.

  • Completed the unit test cases for my project to ensure functionality and reliability.

  • Published my second blog post for the coding period, detailing my progress and experiences.

  • Began writing user-friendly documentation to assist users in building conditional logic for forms.

Week 03: June 10, 2024 - June 15, 2024

Week 04: June 17 - June 21

  • Developed a calculation expression logic in the rule builder.

  • Integrated custom validation logic, including hideWhenExpression, failsWhenExpression, and calculateExpression into the schema.

  • Shared my GSoC work with our squad members in squad call with a live demo.

  • Published the Week-04 blog post

Week 05: June 24 - June 28

  • Developing a conditional rule for checking if an array contains selected values by integrating a multi-select component into the rule builder and incorporating the logic into the schema.

  • Increasing unit test coverage for existing functions defined in the rule builder.

  • Published Week 05 blog

  • Demo

cc: @grace , @dkigen , @hadijah315 , @jayasanka , @vasharma05

3 Likes

Thanks so much for keeping up this blog, it helps me!! Love how you included a loom video / demo :star_struck: Can’t wait to try this out on dev3. Please let me know when it’s ready to try out :slight_smile: I would especially love @veronica and @wamz 's expert review as they have built mannny forms for OpenMRS over the years and will have great insight. Whenever you’re ready @senthilathiban let us know so we can try it out ourselves and share feedback :slight_smile:

Thank you @grace . Happy to hear that the blog post is helpful for you. :blush:

I’ll make sure to keep you updated on the progress and notify you as soon as it’s ready for testing.

Hello @grace, @dkigen

I would like to develop documentation for the validation rule builder project, which is related to RFE. It would be helpful for me If I could get access to this wiki page to edit the docs section.

cc: @grace , @dkigen.

Hello @everyone,

I have developed the documentation for my GSoC project: Validation Rule Builder for the form builder. This documentation provides a tutorial guide for users on utilizing the validation rule builder to create conditional logic for forms. Please take a look at these documentation and provide your feedback. Your feedback will be helpful to me.

cc: @grace, @dkigen , @hadijah315 , @samuel34 , @vasharma05 , @jayasanka , @eudson, @veronica @wamz.

1 Like

Week 06: July 01 - July 05

  • Developing a conditional rule for hiding the pages, and sections. And added new logic for disabling the form field.
  • Fixed bugs in editing functionality.
  • Increasing unit test coverage for existing functions defined in the rule builder.
  • Added new examples and tutorial guides for creating conditional logic in wiki docs.
  • Published Week 06 blog
  • Demo

@jayasanka @grace @dkigen @hadijah315 @vasharma05

3 Likes

Week 07: July 08 - July 13, 2024.

1 Like

Week 8 Progress: July 15 - July 19:

@grace , @dkigen , @hadijah315 , @jayasanka , @piumal1999

3 Likes

Week 9 Progress: July 22 - July 27

@grace @jayasanka @piumal1999 @dkigen @hadijah315

Week 10 Progress: July 29 - August 03

  • Covered E2E test cases for validation rule builder, which covers validation such hideWhenExpression, failsWhenExpression, calculateExpression.

  • Published the Week 10 blog post

@grace @jayasanka @piumal1999 @dkigen @hadijah315

1 Like

Week 11: August 05 - August 10:

  • Refactored the validation rule builder with descriptive comments, and made changes in handler function with react best practises.
  • Developed a Block diagram for better understanding of validation rule builder UI code, which will be helpful for new contributors.
  • Published week 11 blog post.

@grace @jayasanka @piumal1999 @hadijah315 @dkigen

2 Likes

Week 12: August 12 - August 17, 2024

Tasks Completed:

3 Likes