sansa

module
v0.0.0-...-0fc01ca Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2020 License: MIT

README

SANSA Space Science

This repository contains packages required for the acquisition, processing and persistence of data from all SANSA Space Science instruments.

DAQ and Ingress for Lemi011 - Proof of Concept

Some things to take note of first:

  • The app will read in all parameters from environment variables, as prescribed by 12-factor microservices architecture.
  • For testing purposes, environment variables are set in the cmd/daq/config.go and cmd/ingress/config.go files - this will be removed when going into production.
  • To test the application: connect a lemi011 sensor or simulator (I used an Arduino Uno) to the PC, check the COM port and change the setting in the config.go file.
  • A Nats Streaming Server needs to be running somewhere as well. Adjust Nats ID variables accordingly.

To run DAQ:

cd cmd/daq
go run .

To run Ingress:

cd cmd/ingress
go run .
Architecture

The following principles were taken into account to optimise the code for maintainability, readability, documtation and robustness:

  • Clean Architecture
  • Hexagonal Architecture (an interpretation of clean architecture)
  • Domain Driven Design
  • 12-factor microservices architecture
Instruments

Below is a task list of all SANSA Space Science instruments that needs to be implemented. A lot of work still needs to be done.

  • Lemi-011
  • NovAtel
  • Ashtech
  • Lemi-025
  • DVRAS
  • UltraMSK
  • Wide Angle Riometer
  • DTU
  • Overhauser
To Do

A list of functionality that needs to be added.

  • Checksums for files
  • Durable subscriptions with at-least-once publishers
  • Postgres/timescaledb
  • More defined API - GraphQL/REST/gRPC
  • Dockerise
  • Dynamic configuration
  • Improve logging

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL