/Sprout

🌱 A dashboard that displays real-time data about my plants

Primary LanguageVueMIT LicenseMIT

A dashboard that displays real-time statistics about my plants and their environment.

🌱 Features

Sprout offers:

  • Soil moisture charts for each plant connected to Sprout
  • Environmental statistics about the plants' environment, including temperature, pressure, and light levels.
  • A cute design :)

âš¡ Technologies

Frontend

Sprout's frontend was written using Vue.js. The charts were made using vue-echarts. The icons and overall design are original.

Backend

Sprout's business logic consists of an API implemented using AWS Lambda and Serverless that is periodically polled by the frontend. This API retrieves the necessary data from a MongoDB instance hosted on Atlas, does a small amount of processing to reduce the number of data points, and returns it to the frontend.

Data collection

The data collection is handled by AzureSpherePlantMonitor, which is an Azure Sphere MT3620 hooked up to Chirp! soil moisture sensors. This setup is currently deployed in my room, where it continues to gather new data every 2 minutes and publish its findings to the MongoDB Atlas instance every 10 minutes.

SPROUT

👥 Authors

This project is a collaboration between @mirrorkeydev (dashboard + api) and @prototypicalpro (api + IoT data collection).

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build
gh-pages -d dist // if deploying to GitHub pages

Lints and fixes files

npm run lint

Customize configuration

See Configuration Reference.