@chrishrb/techradar
TypeScript icon, indicating that this package has built-in type declarations

0.1.5 • Public • Published

Techradar

This project, inspired by Zalando's and Miguel Silva's techradar, enables users to generate a visualization representing the key frameworks, libraries, tools, platforms, and techniques used in organizations. It also provides information regarding the adoption level of each of these elements. What sets this project apart from other libraries is its unique feature that allows users to customize the number of rings and slices according to their specific needs

ui

[!TIP] You can see example techradars created with this library here

✨ Features

  • visualize your technology in rings and slices
  • integrate in your own code by only installing and using this library
  • variable number of rings
  • variable number of slices / quadrants
  • use nerdfonts icons

📦 Getting started

  1. Install package with your preferred node package manager
# pnpm
pnpm add @chrishrb/techradar

# npm
npm install @chrishrb/techradar

# yarn
yarn add @chrishrb/techradar
  1. Integrate the techradar in your project
import Techradar, { TechradarData } from '@chrishrb/techradar'

function App() {
  const data: TechradarData = {
    id: "example1",
    rings: [
      { id: "adopt", name: "ADOPT" },
      { id: "trial", name: "TRIAL" },
      { id: "assess", name: "ASSESS" },
      { id: "hold", name: "HOLD", color: "#e09b96" },
    ],
    slices: [
      {
        name: "Frameworks & Ecosystems",
        blipsByRing: {
          adopt: [{ name: "React" }],
          trial: [{ name: "Vue" }, { name: "Angular (2+)" }],
          hold: [{ name: "AngularJS (1)" }, { name: "jQuery" }],
        },
      },
      {
        name: "Linting & Formatting",
        blipsByRing: {
          adopt: [{ name: "ESLint" }, { name: "Prettier" }],
          assess: [{ name: "AirBNB Eslint Config" }],
        },
      },
      {
        name: "Languages",
        blipsByRing: {
          adopt: [{ name: "CRA (Create React App)" }],
          assess: [{ name: "Next.js" }, { name: "React App Rewired" }],
        },
      },
    ],
  };

  return (
    <>
      <Techradar data={example} options={{ radarSize: 600 }} />
    </>
  )
}

export default App

More examples are provided under the src folder in this repository.

 Icons

You can also use icons instead of numbers for the blips. Go to nerdfonts and choose an icon. Afterwards copy the hexcode to your config and add the \u as a prefix. So in this example the hexcode of the react logo is e7ba, add the prefix \u and paste it into the blips configuration. Important: Only the 4 digit hexcodes are working:

...
  slices: [
    {
      name: "Frameworks & Ecosystems",
      blipsByRing: {
        adopt: [{ name: "React", icon: "\ue7ba" }],
      },
    },
...

⚡️ Local Development

  1. Install dependencies with pnpm
pnpm install
  1. Start local development server:
pnpm dev
  1. Build and publish package:
pnpm build
pnpm publish

📄 Acknowledgements

/@chrishrb/techradar/

    Package Sidebar

    Install

    npm i @chrishrb/techradar

    Weekly Downloads

    8

    Version

    0.1.5

    License

    MIT

    Unpacked Size

    444 kB

    Total Files

    23

    Last publish

    Collaborators

    • chrishrb