/Terrace-Dashboard

A tool comprised of a useful "Home Page" style dashboard running in a web browser and deployable remote Python clients.

Primary LanguageSvelte

Preview of development branch rework

Alt Text

Terrace Dashboard

A free Dashboarding tool for all your tools

Alt Text A tool comprised of a useful "Home Page" style dashboard running in a web browser, deployable remote Python clients that monitor hardware statistics and state of the host machine(s), as well as an available communication protocol for displaying the status of additional "services", that can be implemented into any project that utilizes Web Socket communication.

Features

Dashboard

  • Search bar for Google / Youtube
  • Weather, sunset/sunrise, date and time
  • Section for bookmarks
  • Automatic display of hardware clients in the left navigation bar
  • Automatic display of connected services
  • Automatically updated charts displaying various CPU, RAM and Storage statistics of connected Hardware Clients
  • Notes (Save, edit, delete) with markdown capabilities (and syntax highlighting!)

Hardware Client

  • Automatic connection of hardware status and statistics to the server that communicates:
    • CPU Core Count, CPU Usage, CPU Frequency
    • RAM total, Available, Percentage Used
    • Total Storage, Available Storage, Used Storage

Tech

Terrace Dashboard uses the following technologies:

Installation

TDB has been tested on Python 3.7+, and requires the installation of all libraries in requirements.txt

pip install -r requirements.txt

TDB also requires you to build the Svelte frontend before you can use it. This requires Node.js 12+

cd Terrace-Svelte
npm install
npm run build
  1. Navigate to the server folder, and run the server.
python main.py

Alt Text 2. Connect to the dashboard via xxx.xxx.xxx.xxx/dashboard in your browser. 4. Sign up for OpenWeatherMap Free API

  1. Enter your longitude / latitude and API key in weather settings and save

Alt Text

Optional:

  • Run the hardware client(s) on host machine and/or remote machines while the server is running
  • Implement and connect any "Services." An example service in the clients folder is provided to assist you in structuring you projects to communicate with the server.
python hardware_client.py xxx.xxx.xxx.xxx Hardware-client-name

Alt Text

Development

Want to contribute? Great!

Developers

License

Gitstar