radlikewhoa / happyflowers Goto Github PK
View Code? Open in Web Editor NEWhappyflowers is an IP5 project at the University of Applied Sciences and Arts Northwestern Switzerland.
Home Page: https://sacha.me/happyflowers/
happyflowers is an IP5 project at the University of Applied Sciences and Arts Northwestern Switzerland.
Home Page: https://sacha.me/happyflowers/
Create a small static website showcasing the project and involved technologies and tools.
Currently there is no way of telling whether the requests were successful or not. We need to check if the queries and statements were successful instead of just silently failing.
I figured it might not be too much of an issue, running an older version of GHC, but it turns out that our current codebase doesn't compile against this version of GHC. So we either have to rewrite a lot of code in our codebase or try and get the latest version of GHC running on the RPi.
In theory, this should be as simple as installing the latest version of the Haskell Platform, but there seem to be some bugs surrounding this release.
As long as this issue is not resolved we're unable to install all dependencies, thus not allowing us to build the project on the RPi itself.
This helps the user better understand if there's any loading / processing going on. In the end, this also prevents them from submitting content again.
In the same area we also need to disable submission buttons if a submission is already in progress to avoid duplicate submissions.
When executed on the RPi, the process started by cabal does not stay running. This works on other machines.
We need to give the user feedback about whether their requests were successful or if there were any errors.
This is a hard requirement. All Haskell code must be documented properly using Haddock. This concerns modules, functions and types.
This includes all required tools and components, requirements about the environment, and how to install dependencies. After reading this guide, users need to be able to set up the device and start all required processes.
The function currently returns a fixed value, thus preventing the pump procedure from being tested properly. We could possibly implement some sort of RNG to create random numbers, but they'd need to follow a structure so that the process does not keep running indefinitely.
In order to provide a livestream we need to have several things ready:
We can at least split models and API code, maybe even more.
Even though the JS code is not the most important piece of code in the project it's still nice to have proper documentation, at least of all classes.
Both are resolved if the user moves the cursor into / out of the input. Seems really weird and I'm not really sure what possible solution there could be.
I've received some negative feedback about the background, we should maybe look into it.
Ideally we'd just have to start up the server and it runs both the API and the web front end. Routes for API methods could then be prefixed with "/api/" or something and all other request just redirect to "/index.html" unless a file with that name exists.
We are going to need to add a WebSockets server to enable direct communication between the web front end and the RPi, and vice versa.
There's examples for a server implementation and a client implementation.
Currently the configuration contains only the password to use for authentication. We should extend that to also contain a setting to determine the time period to use for the history view. Maybe in the end we can include further options if we write the configuration reading code as flexibly as possible.
The sensor allows not only measuring moisture levels, but also the current temperature. In the code we need to read from register 5.
This is an enhancement that we could possibly implement if there's enough time.
Users need to be able to activate the pump manually. This is mostly just for demonstration purposes, but it needs to work without errors regardless.
Subscribe to web socket events raised from new data (e.g. measurements, waterings.) These updates then dispatch Redux actions which in turn update the data on the front end. This communication is entirely one sided, updates from the RPi are only pushed to the web front end, not the other way around.
All components should have valid prop types defined for all their props.
The moisture sensor needs to be connected to the RPi. Measurements need to happen at a defined interval. Ideally, this process should look as follows:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.