Skip to content

Restructuring of the frontend module federation

Arun Rajput edited this page May 11, 2022 · 18 revisions

GovTech Context

Edtech in India has expanded exponentially since the onset of Covid in a fragmented offline universe of public schools. Public schools form the backbone of education in India and as the world came online there have been no trustworthy ways for the public school education system to leverage the power of this edtech growth. Shiksha's mission is to empower the public education systems with edtech products that have delightful and dependable end user experiences, are interoperable with NDEAR building blocks and easy to build on.

Product Explanation

The aim of Shiksha is to make highly configurable modules which can be embed and extend easily by developers in any of their application and used standalone by providing data points to it.

Features to be Implemented

The goal of this project is to enhance and upgrade the structural architecture of the repository:

  1. Restructure the repository in form of the following terminologies:

    • Components
    • Pages
    • Modules
    • Application

    Note: For more details refer here.

Current code may have fat components. We need to break down the code into pages and components. We also need to move components and pages into appropriate modules. Currently modules and application codes are within folder packages. We need to restructure into "modules", "apps", "lib" folders.

  1. Transfer the code base from javascript to typescript.

Current code is mix of javascript and typescript. we need to add supprt for typescript in the module which does noot have typescript support. Existing component code need to be converted to typescript. This guide will help in migration

  1. Improving the coverage of the codebase.

Current code has very less test cases. We need add testcases and storybooks for the components.

Learning Path

Category Rating
Difficulty **
Risk/Exploratory *
Core Development *
Skills Javascript, Reactjs, Typescript, Module Federation
Possible mentors Ashwin, Arun
Project size 200 hours
Clone this wiki locally