GitHub Repositories

Server-Side Repositories

Back-end

This repository contains several modules that are part of the AstroPlant back-end. Each module has a readme. The modules in this repository are mostly micro-services. A large part of the back-end business logic is not implemented here, but rather in the core API module described below.

This repository contains a docker subdirectory that allows you to use Docker Compose to spin up the entire back-end, including the core APIs and the front-end described below.

AstroPlant Core Client and Kit APIs

This back-end module is relatively big and lives in its own repository. The repository contains an HTTP-based RESTful API to allow (web) clients to communicate with the back-end, and implements part of the MQTT-based API to allow kits to communicate with the back-end. It contains most of the back-end business logic.

The client API can be useful for developing your own UI or to extract raw data to analyze it the way you want to. For more information as to how, please visit the Core API Documentation section.

Front-end

This repository contains the code for the current front-end. It uses the client API to provide a user interface for creating users, kits, setting configurations, etc., and to visualize data.

Be aware that we are in the midst of integrating the community platform into the AstroPlant GitHub organization. This repo might be deprecated in favour of the community platform. Once this is settled we will update this page.

Client-Side Repositories

AstroPlant Kit

This repository contains the core kit software for running on-premise computers (e.g. a Raspberry Pi) with attached peripheral devices (e.g. various sensors). The AstroPlant kits communicate with the AstroPlant back-end, using MQTT as transport, for configuration, publishing measurements, and remote control.

Note that this repository does not itself contain concrete implementations of peripheral devices.

Peripheral Device Library

This repository contains implementations for sensors and actuators often used with AstroPlant.

Web Repositories

Community Platform

This repository contains both codes for the platform itself and for its API. To learn more about the platform itself, its architecture and the roadmap please visit the community platform documentation page.

Landing Page

This repository contains code for our landing page hosted at astroplant.io.

Production Repositories

astroplant-k8s

The official back-end is hosted on a Kubernetes cluster, and this repositories contain all the official deployments files. If you wish to deploy production-grade custom back-end you may find this source useful.

Testing Repositories

astroplant-simulation

For simulating a kit a module is created that can mimic peripherals virtually.

sensor-test-scripts

Faulty sensor? You can test each individual sensor with these small scripts.

RaspiWifi - Configuration Helper

This repository is a fork of a great implementation from Jasbur. We use this repository to make it easy for users to configure Wifi, AstroPlant credentials. It is used for dedicated AstroPlant images. At its core it is very simple and allows for further extensions such as sensor testing or enterprise wifi connections. Feel free to contribute just as for all repositories.

pi-gen - Image Creation

This is a fork of a tool used to create the raspberrypi.org Raspbian images meant for distribution.

Hardware Repositories

Electronics

Blueprints of the AstroPlant electronics can be found inside the following repository:

Casing

For blueprints of the casing's refer to this repository

Sensors & Actuators Repositories

Astroplant Camera Module

This is an elaborate repository for not just making images, but NDVI images.

This repository, and the features it contains are not fully integrated in the official AstroPlant ecosystem.