Skip to content

Commit

Permalink
Add first ADRs
Browse files Browse the repository at this point in the history
  • Loading branch information
gberaudo committed Nov 22, 2024
1 parent 43be344 commit 166c40b
Show file tree
Hide file tree
Showing 3 changed files with 63 additions and 0 deletions.
41 changes: 41 additions & 0 deletions adrs/2024-09-framework.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# ADR: opensource framework targetting developers

## Decision

We will provide a framework including:

- developper environment;
- CI;
- Production-ready Docker images;
- Turn-key apps + ability to easily create a new app;

Usage will be:

- configure;
- or fork.

This framework will be opensource, developed by a community of actors on github.

We are targetting developers.

## Context

CesiumJS is a powerful library for displaying large datasets in a realistic 3D globe.
But to create an application there is still a lot of code to write, again and again.

We think that there is space for an opensource solution to fill this gap.
Notably a lightweight solution not hidding the underlying libraries.

## Options

- create a library of components, published on npm;
- create a closed source solution;
- target non-devs with a completly dynamic / publisher solution;
- expose a simplified API.

# Justification

- by providing a complete solution we share more and it is easier and faster to use;
- a closed source solution would have no traction nor community;
- completly dynamic systems are slow, harder to do write and have higher complexity;
- a simplified API is never enough and require documentation of its own, it's a moving target.
19 changes: 19 additions & 0 deletions adrs/2024-09-plugins.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# ADR: Plugins

## Decision

Supporting external plugins (no recompilation) is a non-goal.
Plugins should be contributed in the main repository or stay in forks.

## Context

It is convenient to be able to author a plugin / distribute it / use it without full rebuild.

## Options

# Justification

- external plugins do not benefit from typescript, so they are fragile;
- they cause duplication of dependencies;
- they make the API more rigid and need more code (to provide hooks notably);
- they are not so useful in practice.
3 changes: 3 additions & 0 deletions adrs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Architecture Decision Report (ADR)

ADRs are reports of architecture decisions.

0 comments on commit 166c40b

Please sign in to comment.