Skip to content

Restructuring of the frontend module federation

Shruti Agarwal edited this page Jan 29, 2024 · 1 revision

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

Steps to Submit the Project

Step 1 : Install the C4GT GitHub App - Please install this GitHub App in your product repositories so that we can access your repositories and track the C4GT tickets to make it automatically discoverable for the contributors.

Step 2 : Format existing/create new issue tickets - Use this COMMUNITY issue template Or DMP issue template to update existing or create new tickets that you want listed in the C4GT Community And DMP. The consistency of this template will improve the experience of the contributors to explore and comprehend your tickets. Note - For all tickets that are being updated/added as per the format. Please create a label called C4GT Community or DMP 2026 and tag all tickets with that label. This is key to making the tickets automatically discoverable.

Dedicated Mentoring Program

C4GT Contribution Sprints

C4GT Bounty projects

Open Community Projects

Augtoberfest

Standards and Frameworks

Clone this wiki locally