-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
TEDI design system is divided in two parts:
- Community components
- TEDI components (TEDI-READY)

Repository structure will be following:
tedi-design-system/
├── libs
│ ├── react-components/
│ │ ├── src/
│ │ │ ├── tedi/
│ │ │ │ ├── components/
│ │ │ │ │ ├── Button/
│ │ │ │ │ │ ├── Button.tsx
│ │ │ │ │ │ └── Button.stories.tsx
│ │ │ │ │ └── ...
│ │ │ └── community/
│ │ │ │ ├── components/
│ │ │ │ │ ├── Card/
│ │ │ │ │ │ ├── Card.tsx
│ │ │ │ │ │ └── Card.stories.tsx
│ │ │ │ │ └── ...
│ │ │ └── ...
│ │ └── ...
│ ├── angular-components/
│ │ ├── src/
│ │ │ ├── ...
│ │ │ └── ...
│ │ └── ...
├── nx.json
├── tsconfig.base.json
└── package.json
In Storybook, under Community section are located community components. This means that responsibility for development, quality direction, etc., lies with the contributor. The goal of community components is to serve as a central repository for sharing reusable components. Currently, we have agreed that the TEDI team (maintainer) does not control the content or intervene except in the following ways: One of the code reviewers by default is also a developer from the TEDI team. However, only one developer is still mandatory as the reviewer for PRs, and waiting for acceptance from a TEDI team developer is not obligatory. The aim as a maintainer is to stay informed about what's happening with community components so that in the future, they can be converted into TEDI components or provide guidance to ensure that the design system doesn't deviate too far. The maintainer is responsible for the release process. Meaning, the TEDI team ensures that during the development of community components, TEDI components are not (accidentally) altered. This is because, for the convenience of developers, the same repository and libraries are shared.
TEDI components are maintained by a maintainer. To become a TEDI component, it must meet the DoD. This means that a contributor can't create a TEDI-READY component, but only TEDI-READY Compatible Commmunity component, because there is an steps that can't be met. This is explained in DoD: https://github.com/TEHIK-EE/tedi-design-system/wiki/Definition-of-Done#code--development-1