Dynamic Webpage: Difference between revisions

From Aquarium-Control
Jump to navigation Jump to search
No edit summary
 
(One intermediate revision by the same user not shown)
Line 11: Line 11:
The demo of the webpage is available [http://vps2483992.servdiscount-customer.com/ here]
The demo of the webpage is available [http://vps2483992.servdiscount-customer.com/ here]
== Installation ==
== Installation ==
=== Prerequisites ===
A working Apache 2 installation is required. The web server must be capable of executing the php scripts of the [[REST API]].
=== Webpage ===
=== Webpage ===
Clone the website and the API to <code>/usr/local/src/</code>:
Clone the website and the API to <code>/usr/local/src/</code>:
Line 54: Line 57:
= Architecture =
= Architecture =
The webpage uses HTML enhanced by JavaScript using Vue.js.
The webpage uses HTML enhanced by JavaScript using Vue.js.
The communication with the web server uses the [[REST API]].
The communication with the web server uses the [[REST API]].
The webpage is divided into several html files:
* index.html: Landing page including time data visualisation
* logs.html: One page for visualisation of the logs - controlled by a <code>GET</code> parameter
* balling-manager.html: One page for configuration of the dosing volumes
* refill-manager.html: One page for visualisation and control of the refill controller state
* feed-manager.html: One page for visualisation and editing of feed profiles as well as for visualisation and scheduling of feed profile execution
* ventilation-manager.html: One page for visualisation and control of the ventilation control parameters
* heating-manager.html: One page for visualisation and control of the heating control parameters as well as displaying the heating statistics

Latest revision as of 19:46, 8 December 2025

The dynamic webpage implements the following features:

  • Display of measurement data
  • Display of log from refill, Balling mineral dosing and feed
  • Display and interface for creating and modifying feed profiles
  • Display and interface for modifying the feed schedule
  • Display and interface for modifying the Balling mineral dosing amount
  • Display and interface for modifying the actuator schedule
  • Display and interface for setting the refill controller state

The demo of the webpage is available here

Installation

Prerequisites

A working Apache 2 installation is required. The web server must be capable of executing the php scripts of the REST API.

Webpage

Clone the website and the API to /usr/local/src/:

Remove existing webpage using rm /var/www/index.html.

Assuming the web server is storing the content in /var/www/html/: Create symbolic links from the web server directory pointing to the downloaded pages:

  • sudo ln -s /usr/local/src/aquarium-vue/* /var/www/html

Create symbolic links from the web server directory pointing to the API scripts:

  • sudo ln -s /usr/local/src/aquarium-api/api.php /var/www/html/api.php
  • sudo ln -s /srv/aquarium-api/functions.php /var/www/html/functions.php
  • sudo ln -s /srv/aquarium-api/db.php /var/www/html/db.php

Note: Do NOT copy ALL files from the API repository to the website.

Libraries

Download the libraries into separate folder(s) and create symbolic links. Ensure you have the required rights. Below versions are PROD version (no console error logging). The libraries are downloaded outside of the target directory of the webpage. Symbolic links need to be created to the js folder.

Vue.js

Moment.js

Chart.js

Architecture

The webpage uses HTML enhanced by JavaScript using Vue.js.

The communication with the web server uses the REST API.

The webpage is divided into several html files:

  • index.html: Landing page including time data visualisation
  • logs.html: One page for visualisation of the logs - controlled by a GET parameter
  • balling-manager.html: One page for configuration of the dosing volumes
  • refill-manager.html: One page for visualisation and control of the refill controller state
  • feed-manager.html: One page for visualisation and editing of feed profiles as well as for visualisation and scheduling of feed profile execution
  • ventilation-manager.html: One page for visualisation and control of the ventilation control parameters
  • heating-manager.html: One page for visualisation and control of the heating control parameters as well as displaying the heating statistics