https://github.com/jukbot/growth
Smart Watering System
https://github.com/jukbot/growth
Last synced: 3 months ago
JSON representation
Smart Watering System
- Host: GitHub
- URL: https://github.com/jukbot/growth
- Owner: jukbot
- Created: 2017-04-26T13:53:29.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2021-09-17T10:03:04.000Z (over 4 years ago)
- Last Synced: 2025-11-20T03:06:46.641Z (7 months ago)
- Language: HTML
- Size: 18.4 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Problem Statement
In the present, without well-managed watering system can cause many problems during watering plants in agricultural, for example, unsuitable amount of water due to types of plant, temperature, and moisture in the air. Thus, people sometimes waste water more or less than it should be, and the quality of product might not be good enough for the market.
# Background
Inefficient watering plant management may lead to an excessive or insufficient in using water. Getting unsuitable amount of water will also make less productivity of plant. Therefore, we need an efficient watering management system in order to know the suitable amount of water for specific types of plant due to various weather conditions.
## Build Status
## System Requirement
### Operation System
- Windows 10
- MacOS 10.12
- Ubuntu 14.04, 16.04
- CentOS 7.2
### Browsers
- Google Chrome 59
- Firefox 53
- Microsoft Edge 15 (!!Unstable!!)
## What is Polymer ?
Polymer is a lightweight library built on top of the web standards-based [Web Components](http://webcomponents.org/) API's, and makes it easier to build your very own custom HTML elements. Creating reusable custom elements - and using elements built by others - can make building complex web applications easier and more efficient. By being based on the Web Components API's built in the browser (or [polyfilled](https://github.com/webcomponents/webcomponentsjs) where needed), Polymer elements are interoperable at the browser level, and can be used with other frameworks or libraries that work with modern browsers.
Among many ways to leverage custom elements, they can be particularly useful for building reusable UI components. Instead of continually re-building a specific navigation bar or button in different frameworks and for different projects, you can define this element once using Polymer, and then reuse it throughout your project or in any future project.
Polymer provides a declarative syntax to easily create your own custom elements, using all standard web technologies - define the structure of the element with HTML, style it with CSS, and add interactions to the element with JavaScript.
Polymer also provides optional two-way data-binding, meaning:
1. When properties in the model for an element get updated, the element can update itself in response.
2. When the element is updated internally, the changes can be propagated back to the model.
Polymer is designed to be flexible, lightweight, and close to the web platform - the library doesn't invent complex new abstractions and magic, but uses the best features of the web platform in straightforward ways to simply sugar the creation of custom elements.
In addition to the Polymer library for building your own custom elements, the Polymer project includes a collection of [pre-built elements](https://elements.polymer-project.org) that you can drop on a page and use immediately, or use as starting points for your own custom elements.
The PRPL pattern, in a nutshell:
* **Push** components required for the initial route
* **Render** initial route ASAP
* **Pre-cache** components for remaining routes
* **Lazy-load** and progressively upgrade next routes on-demand
### Migrating from Polymer Starter Kit v1?
[Check out our blog post that covers what's changed in PSK2 and how to migrate!](https://www.polymer-project.org/1.0/blog/2016-08-18-polymer-starter-kit-or-polymer-cli.html)
### Setup
##### Prerequisites
NodeJS version >= 6.x
https://nodejs.org/en/
Install [polymer-cli](https://github.com/Polymer/polymer-cli):
npm install -g polymer-cli
Install bower:
npm install -g bower
### Start the development server
This command serves the app at `http://localhost:8080` and provides basic URL
routing for the app:
polymer serve --open
### Build
This command performs HTML, CSS, and JS minification on the application
dependencies, and generates a service-worker.js file with code to pre-cache the
dependencies based on the entrypoint and fragments specified in `polymer.json`.
The minified files are output to the `build/unbundled` folder, and are suitable
for serving from a HTTP/2+Push compatible server.
In addition the command also creates a fallback `build/bundled` folder,
generated using fragment bundling, suitable for serving from non
H2/push-compatible servers or to clients that do not support H2/Push.
polymer build --add-service-worker
### Preview the build
This command serves the minified version of the app at `http://localhost:8080`
in an unbundled state, as it would be served by a push-compatible server:
polymer serve build/unbundled
This command serves the minified version of the app at `http://localhost:8080`
generated using fragment bundling:
polymer serve build/bundled
### Run tests
This command will run
[Web Component Tester](https://github.com/Polymer/web-component-tester) against the
browsers currently installed on your machine.
polymer test
### Adding a new view
You can extend the app by adding more views that will be demand-loaded
e.g. based on the route, or to progressively render non-critical sections
of the application. Each new demand-loaded fragment should be added to the
list of `fragments` in the included `polymer.json` file. This will ensure
those components and their dependencies are added to the list of pre-cached
components (and will have bundles created in the fallback `bundled` build).