Skip to content

Using XState as a orchestrator for UI  #48

Open
@karntrehan

Description

@karntrehan

Project Details

Workflow is a complete package that allows you to deploy an application with authentication, database, backend, storage service, frontend and enketo forms with just a single command.

Enketo has been used all around the world for a wide range of uses from needs assessments in humanitarian aid, to raising historical awareness, to clinical research, to election monitoring.

Feature to be implemented

We need to create a state machine based system in React which allows to handle UI changes according to the state transitions and actions using XState and move application to NextJs

What needs to be built

  1. Migrate app to NextJS
  2. Add Redux Persist
  3. Implement State Machine logic for UI

Screenshot 2023-05-07 at 8 02 04 PM

Learning Path

Complexity

Medium

Skills Required

React, Redux, XState, LocalForage, Enketo

Name of Mentors

@amit-s19

Project Size

8 weeks

Product Setup

Follow this link

Acceptance Criteria

  • React app is now a NextJS based app
  • Redux is now integrated with properly written dispatchers, reducers, actions and middlewares
  • Transform React app to be powered through state machines and UI is handled through state transitions using XState
  • Enketo forms render properly

Milestones

  • Setting up the project locally
  • Understanding NextJS
  • Figuring out how state machine works and how to implement in React
  • Understanding Redux and integrating in React
  • Integrating State Machines in the app

C4GT

This issue is nominated for Code for GovTech (C4GT) 2023 edition.
C4GT is India's first annual coding program to create a community that can build and contribute to global Digital Public Goods. If you want to use Open Source GovTech to create impact, then this is the opportunity for you! More about C4GT here: https://codeforgovtech.in/

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions