Skip to content

ctrl-alt-GR/KLIRR

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aftermath 1.0

Actors

Role Job type Responsibility
Recorder record Logging a CrisisDecision as easy as possible.
Writer descisions.write Securely storing and safekeeping of CrisisDescision.
DataExporter descisions.export.data Export cluster of one or more CrisisDecision into common data formats, ex. json.
FileExporter descision.export.file Export one or more CrisisDescision into common data formats, PDF/A.
Analyzer descision.analyze Analyze cluster of CrisisDecision.

Requirements

Role Requirements
Recorder easy auth, ex. api-key, offline-first, if LAN > send CrisisDecision to Writer. Small node app with backend api and frontend PWA ui.
Writer validate input, validate correct write, retry functionality, encrypt data?
DataExporter decrypt data, transform to given data structure
FileExporter decrypt data, transform to given filr type - PDF/A
Analyzer Agent network analyzer

Models

type DecisionStatus = "active" | "superseded" | "revoked" | "expired" | "done";

type DecisionMaker = {
  id?: string;
  role: string;
  organization: string;
  department: string;
};

type CrisisDescision = {
  id: string; // uuidv4
  timestamp: string; // ISO8601
  crisis: string; // E.g. the storm Hans
  parent: null | string; // Decision id for chaining
  status: DecisionStatus;
  decidedAt: string; // ISO8601
  title: string;
  what: string; // What, describes the decision
  why: string; // Why, describes the basis on which the decision was made
  ttl: null | string; // Until when?
  decisionMakers: DecisionMaker[];
  scopes: string[]; // E.g. municipality Göteborg, district, school etc
  refs: string[]; // Related decisions
};

About

Awesome hacker stuff.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors