Monitor your PC like never before!
Switch branches/tags
Nothing to show
Clone or download
Latest commit 701cf08 Oct 12, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
build
components
.editorconfig
.eslintrc.json
.gitignore
ISSUE_TEMPLATE.md
LICENSE
PULL_REQUEST_TEMPLATE.md
README.md
package-lock.json
package.json

README.md

statuspilatus

StatusPilatus

Monitor your PC like never before!

Features

  • Cross-platform and free

Monitoring

  • CPU usage, flags and temperature
  • GPU information, with support for multiple GPUs
  • RAM usage
  • Disk usage statistics and activity
  • General system information such as hostname, operating system, program list with versions and more
  • Network statistics with support for multiple network interfaces

Setup and running

To run the project you need Node.js installed (with npm).
The steps to do so, are different for every operating system,
and can be found on the Node.js website.

After that, simply run the following commands:

npm install
npm start

Any errors that occur during the process can mean two things:

  • You downloaded the latest source from an unstable branch
  • Node.js, npm or you have configured something wrong

When the time is right we will generate builds with one of the following commands:

npm run buildall
npm run buildlinux
npm run buildmac
npm run buildwin

Structure

In the root of the project, we store the README and LICENSE, among the other files that you would expect there. We have an app directory containing the core application parts. Another important folder is the components folder, which stores all the different parts of the application.

App

Inside the app folder the container for all components is stored. It starts with the index.js file, which loads the index.html file. From there, all the stylesheets and scripts are loaded. The core components like the settings are also created and managed there. Inside the index.html the sidebar shows a list of all the components. This list will be used to start the components as described below.

Components

The first function that is called is the init function. This generates the charts and other things that should be available at all times. Aside from that, each module has a refresh function, which is called once every half a second (can be changed in the settings). This updates the data inside the charts and other places. This is one of the reasons why all components are loaded on startup. All components will be updated on the background using this refresh function, but this functionality can be disabled in the settings. Lastly, each module has an activate function, which is called when the user switches to this component. This is for example used to update the subtitle. There is no hard-coded list of components, instead a list is generated based on the sidebar menu. From there all the init, refresh and activate functions will be called for each component when needed. Each component exports only these three functions, unless there is other interaction required (such as refresh buttons).

Style guide

We try to follow these suggestions when writing code:

  • Add the GPL license header to all JavaScript, CSS and HTML files
  • For CSS class and id names, use kebab-case-like-this
  • For JavaScript, try to follow the MDN JavaScript Guide
  • For JavaScript we also have suggestions by eslint, with the included config
  • Indentation settings are done with editorconfig

To check the JavaScript style suggestions:

eslint .

and fix them mostly automatically with:

eslint . --fix

Technologies

We made use of the following software to create StatusPilatus:

License

StatusPilatus is copyrighted software made by PilatusDevs in 2018. You can copy and modify it under the GNU GPL version 3 or later, see LICENSE for details.