6 Dendron Design System

Goals

In order to keep a consistent UI across Dendron apps: Create a design-system of UI components and theme objects, hosted on npm that can be installed and used across all Dendron applications.

Use Cases

  • When building out a new React based Dendron project, instead of needing to create a components folder and create all your own local components per project, you can instead install ie. yarn add dendron-design-system and start building the app using these components like lego blocks.

  • Creating a consistent UI across apps. Inevitably when there are local component folders in each app with the same components (ie. Button) there will be inconsistencies in styles / functionality which can be confusing for users. A good design system creates a consistent UI across apps.

  • Updates also apply across apps. When a component is updated, simply publish a new version on npm and upgrade all apps to the latest version.

  • Speed up development.

    Research-backed studies suggest reusing code can yield 42–81% time savings and boost productivity by 40%. Storybook

Proposal

  • Tech Stack for Design System.
    • TypeScript
    • React (compatible with all current and upcoming Next.js apps)
    • Storybook
    • Chakra-UI (already is use within Dendron and a very popular and well made UI library)
    • npm
  • Start by converting the small style guide Dendron has on this website to a design system hosted on npm.
  • Create theme with colors, typography etc.
  • Create UI component variants (ie, button, input, dropdown etc.)

Example

WIP: I will get an example repo setup and update.


Backlinks