Greenhouse website application

2022-04-23

Idea behind the project

is to apply new features to Supla project, valuable for gardeners, especially those who use greenhouses. In the future, I hope to develop it to a standalone project, and create an social-media application with hints how to cultivate in ecological, sustainable way, create local seeds markets, and help local gardeners and small farmers.

Features it should have:

Frontend

is my biggest issue, as I am not a big fan of JavaScript, due to Javascript Trap, but in this project, I am somewhat forced to use it because static site in that case will be awful and lack in functionalities. On the other hand, many people block the JS as I do most the time - I would like to make my app for them as well. My friend wilmhit shared the html over the wire idea. In this case any JS will be necessary, and it seems to be nice to me, but I am afraid of performance - using JS transfer this issue to a client. Additionally I am not sure how it is going to be with one of our most important functionalities - graph showing temperature and humidity curve. I am pretty sure that it is not possible to make it reactive without JS.

The solution for me right now seems to be: Free our JS code

That leads me to make even harder choice - which framework should be used. I am pretty new to Javascript, but Svelte, showed to me by my lecturer, seems to be the best option, as it is the most loved web framework, so I could just trust my lecturer and the majority. Moreover, as it is most loved framework right now, I find it as a big adventage - I hope someone would love my idea, as I do, and help me to work on this.

Accidently, doing another work, I have found this article which seems to be ideal way for now, but there is also an mplh5canvas 0.7 package, which seems to be working with mplcursors package, so we could have responsive data points while hovering the mouse over the certain day/hour.

PlantCV

is a library I want to use to automatically phenotype the plants. If we could use our mobile as a "server", it is equipped with camera, which obviously makes it easy to take photos, and this feature make integration with PlantCV possible. Of course this task is super hard (additionally most integrations are with RPi, so it gonna be even harder), but I am looking forward to implement it.

Old Android mobile

could be used to host FTP/WebDAV server on old android mobile, with wifi hotspot on it. Access to files could be by webDAV or more likely FTP, and the server would run on Termux and controlled by SSH. Spreading WiFi signal should allow us to connect with the phone by it, so we could access its network, and so - have access by SSH.

Controlling the hardware

should be done by OTG - in this tutorial Daniel used Johny-Five JS framework, but as I am a big Python fan I would like to use Flask as its backend, but the idea behind a connection between Arduino and the phone is the same: transfer commends by PyFirmata, and send them by Flask server hosted on the mobile.

Ellenberg's indicator

I'd like to use online API, but I was not able to find it, unfortunatly only database I have found is british Ellenberg's indicator database. On the end I'd like to have a "soil" tab which would contain place to add neighbour plants (using Pl@ntNet or sth similar), and after adding it our system would search for the Ellenberg's values. Later on using these values we could approximate best plants to grow in that area.

In Polish geobotanic (thats my motherland <3), it is possible to use Zarzycki's indicators. I have found an website, which may be useful in this feature - atlas roslin, but unfortunatly it is necessary to pay for it.

Also there is a book

API

It is interesting to use GraphQL to fetch requests from Supla's API

Social website

To create social-media features we could use Strapi

Table

To reach minimal, maximal, average etc. values from each days with sorting etc. we could use svelte-table

Features it could have:

charts

d3 charts

Gantt chart

To create sth instead of calendar:

https://github.com/ANovokmet/svelte-gantt

Links