Restructuring of the frontend module federation - Code4GovTech/C4GT GitHub Wiki
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:
-
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.
- 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
- 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 |