@manzanal.near [Posted on Developer DAO Board](https://near.social/#/devgovgigs.near/widget/Post?id=380) ## Idea: Common Components Library System ### Summary The Common Component Library, initially created as an onboarding solution for developers to find out if the component they want to add has already been created, has now become a trusted component library platform and template(s) that allows teams to organize and categorize existing open web components. This enables developers to search, discover, and share on-chain code, encouraging adoption of a composability mindset. Ultimately, it makes the widget creation process more efficient and productive for the community. The bOS (Blockchain Operating System) is expanding rapidly, with more teams and projects building on top of it, and more gateways being created. This growth has resulted in a significant increase in the number of components being developed. To manage this expansion, a mechanism that allows for a transparent, flexible, and scalable process to create and govern / manage such libraries is needed. The current implementation needs to be improved in several areas: * The curated list of components with predefined categories is hardcoded within the component. * Curators are hardcoded or rely on the library owner. Curators define which components should be included on the curated list. * Widget submission process for existing widgets: there is a lack of a mechanism to enable widget builders to participate and propose widgets to be added to the library. * Widget submission process during widget creation: developers would have the option to submit a component to be added as a common component to a specific library. * The look and feel could be improved. Besides these improvements, teams involved on a bOS development cycle for a given topic, such NFT, DAO, DEVx, Defi, etc, (see [bOS Development Cycle](https://near.social/#/devgovgigs.near/widget/gigs-board.pages.Post?id=347) proposal) could leverage the improved version by owning the high level topic library assigning the initial team members the responsibility of curators enabling them to organize components, create categories, add more curators, etc. **Each Library will be owned by a DAO, and, among other responsibilities, will be responsible for creating topics and forming the initial list of curators for each topic.** Teams, projects, or even gateways could leverage this platform and create libraries to categorize their own components to be shared within the team, use it in the development process, or even shared with other teams and builders on different gateways that could be on multiple blockchains. The improved version could also be adopted by UX/UI designers, allowing them to organize their design system components and facilitate the handoff to developers in the community ### Scope and deliverables I am proposing to split the development into a two week sprint cycle, scoping the deliverables based on new features we can receive from the builders during the bOS Dev Cycle to be added on the next iteration. The scope and deliverable for this sprint cycle is the following: **Common Components Library factory** Library creation, which includes * Topic name, such as DAO, NFT, DeFi, etc * List of categories. Each category consist on: * Category name * Curated list of components related to the category (within the topic) * Curators. List of users responsible for keeping components list updated. The Library owner (DAO) will be responsible for creating topics and creating the initial list of curators for each topic. Once the library is created, curators will be responsible to create or remove categories, add or remove components and promote new builders to join as curators. ### Timeline Our development sprint begins every other Monday. Awareness: March 20-31 Sprint 1: April 3-14 Sprint 2: April 17-28 ### Costs For the implementation of the proposed improvements, I am asking a max amount of $5000 per sprint. ### Team @manzanal.near @james.near ### Get Involved Calling to [bOS Work Group](https://near.social/#/devgovgigs.near/widget/gigs-board.pages.Post?id=347) to provide feedback about features you are interested in. Calling UI/UX designers to join the team. We are looking for a designer to help us with the design. If you want to get involved with development of the Common Component Library, please reply to this post, including a brief summary of your background and why you are interested in joining.