Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(#26): Upgrade to latest version of AOE Tech Radar #27

Draft
wants to merge 21 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 3 additions & 11 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,15 +38,7 @@ jobs:
if: ${{ github.ref == 'refs/heads/main' }}

- run: npm i
- run: PUBLIC_URL=/cht-tech-radar-contributors REACT_APP_RADAR_NAME="CHT Technology Radar for Contributors" npm run build:static
- name: Deploy to GitHub Pages
env:
EMAIL: medic-ci@github
NAME: medic-ci
run: |
git config --global user.email $EMAIL
git config --global user.name $NAME
git remote set-url origin https://$NAME:${{ secrets.GH_SECRET }}@github.com/medic/cht-tech-radar-contributors.git
npm run deploy


- run: npm run serve
- run: npm run deploy

3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ yarn-error.log
aoe_technology_radar.iml
build
techradar
.techradar
# bin
src/rd.json
.techradar
.idea
56 changes: 13 additions & 43 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# CHT Technology Radar for Contributors
This is the location of CHT Technology Radar for Contributors content.

If you are looking for the content of the CHT Technology Radar for Implementers, you can find it [here](https://github.com/medic/cht-tech-radar-implementers).
If you are looking for the content of the CHT Technology Radar for Implementers, you can find it [in its dedicated GitHub repository](https://github.com/medic/cht-tech-radar-implementers).

This Tech Radar is built by using the [CHT Technology Radar Core](https://github.com/medic/cht-tech-radar-core).

Expand All @@ -13,13 +13,14 @@ For a new Technology Radar release, create a folder of the release date (YYYY-MM
### Maintaining content
The items are written in Markdown (`.md`) format.

Each file has a [front-matter](https://github.com/jxson/front-matter) header where the attributes of the item are listed:
Each file has a meta header where the attributes of the item are listed:

```
---
title: "JavaScript"
ring: adopt
quadrant: languages-and-frameworks
tags: [frontend, coding]
---

Text goes here. You can use **markdown** here.
Expand All @@ -32,9 +33,8 @@ Following front-matter attributes are possible:
`methods-and-patterns`(for `Techniques` quadrant), `platforms-and-aoe-services`
(for `Platforms` quadrant), `tools` (for `Tools` quadrant)
- **ring**: Ring section in radar. One of `trial`, `assess`, `adopt`, `stop`
- **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
- **tags**: Optional tags for filtering.
- **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
Expand All @@ -49,20 +49,11 @@ You can integrate images in your markdown. Put the image files in your public fo
![an image](/images/an-image.png)
```

### Tags Guidelines
New technologies should be tagged. Tags should be managed in the `public/config.json` file.

The tags should be used in the .md files as follows:

```md
tags: [data, dashboards]
```

### Content Guidelines
You can update the rings and the quadrants in the `public/config.json` file. If you update the names of the rings and quadrants,
You can update the rings and the quadrants in the `config.json` file. If you update the names of the rings and quadrants,
you will need to update the technologies .md files accordingly.

The text on the "How to use the CHT Technology Radar for Contributors" page can be updated in the `public/messages.json` file.
The text on the "How to use the CHT Technology Radar for Contributors" page can be updated in the `about.md` file.

### Customize the radar
> Further instructions on how to customize the Technical Radar can be found in the [medic/cht-tech-radar-core](https://github.com/medic/cht-tech-radar-core) repository.
Expand All @@ -77,40 +68,19 @@ The default is `/`.

### Build the radar
```
npm install
PUBLIC_URL=/build REACT_APP_RADAR_NAME="CHT Technology Radar for Contributors" npm run start
npm ci
npm run serve
```

Then open the Tech Radar here: https://localhost:8080/build
Then open the Tech Radar here: https://localhost:3000/cht-tech-radar-contributors

### Build the radar with static files
```
npm install
PUBLIC_URL=/build REACT_APP_RADAR_NAME="CHT Technology Radar for Contributors" npm run start:static
```

Then open the Tech Radar here: https://localhost:8080/build

### Regenerate the json file based on your changes on md files
```
npm run generateJson
npm ci
npm run build
```

You can do this while the server is running.
You can find the newly created rd.json in `/build/rd.json`.

## Deployment to GitHub Pages from local
First, ensure that you are performing the next steps on the `main` branch.

### Generate the radar with static files
```
PUBLIC_URL=/cht-tech-radar-contributors REACT_APP_RADAR_NAME="CHT Technology Radar for Contributors" npm run build:static
```

### Push the changes to GitHub Pages
```
npm run deploy
```
## TODO Deployment to GitHub Pages

## Note
The CHT Technology Radars are built starting from the [AOE Tech Radar content](https://www.aoe.com/techradar/index.html).
Expand Down
43 changes: 43 additions & 0 deletions about.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# How to use the CHT Technology Radar for Contributors

### Introduction

It is essential for a development toolkit such as the Community Health Toolkit to constantly improve and keep track with the latest useful innovations. It is important to openly look for innovations and new technologies and to question established technologies and methods every now and then.

### What is the Technology Radar?

To enhance visibility and clarity on the technology choices, the technological strategy, and the available CHT features and tools, we leverage a framework called Technology Radar.

The CHT Technology Radar for Contributors provides an easy-to-grasp visual representation of tools, languages, frameworks, platforms, and techniques we use to build the CHT. Additionally, the Technology Radar provides a degree of adoption and guidelines on using (or not using) a particular technology. The community can leverage it to answer questions like: What’s the difference between technologies such as Klipfolio, Superset, and Grafana?

### Audience

Contributors, Developers, Engineers

### How it is created

The items in the technology radar are raised by the different contributors and therefore a lot of the items are related to the work and challenges the contributors face in the different initiatives.

### How should it be used

The radar acts as an overview of technologies that we think everyone in the CHT Community should currently know about. Its goal is to act as a guide in the community when contributing to the CHT. We also hope that developers outside of CHT Community find the information in our technology overview inspirational.

We group or categorize the items in 4 quadrants - (sometimes, when it's not 100% clear where a item belongs, we choose the best fit).

#### The quadrants are:

- **Languages & Frameworks:** Include development languages and more low-level development frameworks, which help implement custom software of all kinds.
- **Tools:** These can be components, like databases, software development tools, such as version control systems.
- **Techniques:** Include elements of a software development process, such as continuous integration, and ways of creating software, such as progressive web applications.
- **Platforms:** There are things that we build software on top of, such as mobile technologies like Android or generic kinds of platforms like Amazon Web Services.

#### Each of the items is classified in one of these rings:

- **Adopt:** The Adopt ring represents tools that you should seriously consider using. We don’t say you should use these for every project; one should only use a tool in an appropriate context. However, an item in the Adopt ring represents something where there’s no doubt it’s proven and mature for use with the CHT.
- **Trial:** The Trial ring is for tools ready for use but only partially proven as those in the Adopt ring. You should use these on a trial basis to decide whether they should be part of your toolkit. Others may already be using these items in production, likely as early adopters of the tools.
- **Assess:** The Assess ring contains items to look at closely, but not necessarily trial yet - unless you think they would be a particularly good fit for you. Typically, items in the Assess ring are interesting and worth keeping an eye on.
- **Stop:** The Stop (or Not Recommended) ring is for things we think implementers should avoid using or look for ways to move off of. These include items for which a better alternative is available, or where the item is found to not work correctly with the CHT.

### Contributing to the CHT Technology Radar for Contributors

Contributions and source code of the CHT Technology Radar for Contributors are on [GitHub](https://github.com/medic/cht-tech-radar-contributors). Inspired by [AOE Tech Radar](https://github.com/AOEpeople/aoe_technology_radar).
119 changes: 119 additions & 0 deletions config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
{
"basePath": "/cht-tech-radar-contributors",
"baseUrl": "https://docs.communityhealthtoolkit.org/cht-tech-radar-contributors",
"editUrl": "https://github.dev/medic/cht-tech-radar-contributors/blob/main/radar/{release}/{id}.md",
"colors": {
"foreground": "#E5E8E9",
"background": "#38464D",
"highlight": "#F58300",
"content": "#E5E8E9",
"text": "#575757",
"link": "#F58300",
"border": "rgba(255, 255, 255, 0.1)",
"tag": "rgba(255, 255, 255, 0.1)"
},
"quadrants": [
{
"id": "languages-and-frameworks",
"title": "Languages & Frameworks",
"description": "Include development languages and more low-level development frameworks, which help implement custom software of all kinds.",
"color": "#7092F5"
},
{
"id": "methods-and-patterns",
"title": "Techniques",
"description": "Include elements of a software development process, such as continuous integration, and ways of creating software, such as progressive web applications.",
"color": "#535EAA"
},
{
"id": "platforms-and-aoe-services",
"title": "Platforms",
"description": "There are things that we build software on top of, such as mobile technologies like Android or generic kinds of platforms like Amazon Web Services.",
"color": "#436D84"
},
{
"id": "tools",
"title": "Tools",
"description": "These can be components, like databases, software development tools, such as version control systems.",
"color": "#278489"
}
],
"rings": [
{
"id": "adopt",
"title": "Adopt",
"description": "The Adopt ring represents tools that you should seriously consider using. We don’t say you should use these for every project; one should only use a tool in an appropriate context. However, an item in the Adopt ring represents something where there’s no doubt it’s proven and mature for use with the CHT.",
"color": "#4A9940",
"radius": 0.5,
"strokeWidth": 5
},
{
"id": "trial",
"title": "Trial",
"description": "The Trial ring is for tools ready for use but only partially proven as those in the Adopt ring. You should use these on a trial basis to decide whether they should be part of your toolkit. Others may already be using these items in production, likely as early adopters of the tools.",
"color": "#E4AE1D",
"radius": 0.69,
"strokeWidth": 3
},
{
"id": "assess",
"title": "Assess",
"description": "The Assess ring contains items to look at closely, but not necessarily trial yet - unless you think they would be a particularly good fit for you. Typically, items in the Assess ring are interesting and worth keeping an eye on.",
"color": "#535EAA",
"radius": 0.85,
"strokeWidth": 2
},
{
"id": "stop",
"title": "Stop",
"description": "The Stop (or Not Recommended) ring is for things we think implementers should avoid using or look for ways to move off of. These include items for which a better alternative is available, or where the item is found to not work correctly with the CHT.",
"color": "#E35726",
"radius": 1,
"strokeWidth": 0.75
}
],
"flags": {
"new": {
"color": "#D74A39",
"title": "New",
"titleShort": "N",
"description": "New in this version"
},
"changed": {
"color": "#535EAA",
"title": "Changed",
"titleShort": "C",
"description": "Recently changed"
},
"default": {
"description": "Unchanged"
}
},
"chart": {
"size": 800,
"blipSize": 12
},
"social": [
{
"href": "https://github.com/medic",
"icon": "github"
}
],
"imprint": "https://docs.google.com/document/d/1MaI1rgYMNyCZF2eEjBuvnBDoCYHDKlx4k_N5pkDiWu8/edit#heading=h.9sdb6g11dv40",
"labels": {
"title": "CHT Technology Radar for Contributors",
"imprint": "Legal Information",
"quadrant": "Quadrant",
"quadrantOverview": "Quadrant Overview",
"zoomIn": "Zoom in",
"filterByTag": "Filter by Tag",
"footer": "The Community Health Toolkit (CHT) is a project by a group of leading organizations who have come together to support the development of digital health initiatives in the hardest-to-reach areas. It provides a collection of open source technologies and open access design, technical, and implementer resources that help you build and deploy digital tools for community health. Together, we envision a world where healthcare is of the highest attainable quality, equitable, accessible, and delivered by people who are trusted in their communities.",
"notUpdated": "This item was not updated in last three versions of the Radar. Should it have appeared in one of the more recent editions, there is a good chance it remains pertinent. However, if the item dates back further, its relevance may have diminished and our current evaluation could vary. Regrettably, our capacity to consistently revisit items from past Radar editions is limited.",
"notFound": "404 - Page not found",
"pageAbout": "How to use the CHT Technology Radar for Contributors?",
"pageOverview": "Technologies Overview",
"pageSearch": "Search",
"searchPlaceholder": "What are you looking for?",
"metaDescription": "Stay at the forefront of software and trends with the CHT Technology Radar for Contributors. Explore insights on languages, frameworks, techniques, tools and more."
}
}
30 changes: 30 additions & 0 deletions custom.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/* Use this file to optionally override global css styles and use with caution. */
/* See README.md for hints and examples: https://github.com/medic/cht-tech-radar-core */
@font-face {
font-family: "DIN";
src: url("../../public/fonts/NotoSans-Regular.ttf");
font-weight: normal;
}

@font-face {
font-family: "DIN";
src: url("../../public/fonts/NotoSans-Thin.ttf");
font-weight: 300;
}

@font-face {
font-family: "TIT";
src: url("../../public/fonts/spartan-mb.light.otf");
font-weight: 300;
}

[id^="layout"] {
font-family: "DIN"!important;

}

h1,
h2,
h3 {
font-family: "TIT"!important;
}
Loading