AOE Technology Radar
A static site generator for AOE Technology Radar
Looking for the AOE Tech Radar content?
The repository is now found here: https://github.com/AOEpeople/techradar
The AOE Tech radar is deployed here: https://www.aoe.com/techradar/index.html
Usage for your own radar?
The generator is free to use under Open Source License - in fact there are already some other Radars published based on our Radar and there are also Contributions back. (There is a list of planned features below in case someone wants to contribute :-)
However, please be aware:
- It would be nice to mention in radar that the generator is based on this repository.
- Also, when you want to reuse the CSS and Styling: Change the font (it is a licensed font) and the colors (It using AOE CI)
Use and build
Add the tech radar as a dependency
yarn add https://github.com/aoepeople/aoe_technology_radar.git
Generate json file based on md files
yarn aoe_technology_radar-generateJson
Build the radar
yarn aoe_technology_radar-buildRadar
Serve
cd build
python3 -m http.server 8080
Then open here: http://localhost:8080
Run a prepared static version
In most cases you have the techradar available at /techradar, and for reasons want all correct pages to be accessible.
Until this setup improves, you can use the following way to generate the correct techradar:
yarn aoe_technology_radar-generateJson
PUBLIC_URL=/techradar yarn aoe_technology_radar-buildRadar
yarn aoe_technology_radar-createStaticFiles
cp -r build techradar
(This is rather workaroundish for now, but does the job.)
Usage
For a new Technology Radar release, create a folder of the release date
(YYYY-MM-DD) under /radar. In each release folder create a folder for every
quadrant and place the items there.
Maintaining items
The items are written in Markdown format (.md)
Each file has a front-matter header where the attributes of the item are listed:
---
title: "React"
ring: adopt
quadrant: languages-and-frameworks
---
Text goes here. You can use **markdown** here.
Following front-matter attributes are possible:
- title: Name of the Item
- quadrant: Quadrant. One of
languages-and-frameworks,methods-and-patterns,platforms-and-aoe-services,tools - ring: Ring section in radar. One of
trial,assess,adopt,hold - info: (optional) A short textual description of the item (visible in overview pages)
- featured: (optional, default "true") If you set this to
false, the item will not be visible in the radar quadrants but still be available in the overview.
The name of the .md file acts as item identifier and may overwrite items with the same name from older releases.
If an item is overwritten in a new release, the attributes from the new item are merged with the old ones, and a new history entry is created for that item.
Open points
- dotenv necessary? -> Could be necessary for other companies
- measure file sizes necessary? -> no
- check browsers necessary? -> no
- copy public folder necessary? -> no
- specific webpack configurations necessary? -> no
TODOs
- Use other output folder than bin for compiled tasks, because bin is misleading with node bin folder
- add dist folder for precompiled builder
- add default envs to .env file ** add envs to readme
- Check package.json scripts
- Add documentation for build bin (tasks) folder
- prettier on all files
- check lint staged and prettier
- convert scripts to typescript as well ** move scripts paths.js and tasks in one folder
- Rename package to make more clear that this is a tech radar builder?
- provide only one bin script with subcommands like react-scripts?