Monitaure

A server uptime monitoring progressive web application

Github stars Tracking Chart

Monitaure logo

Travis build status
codecov
Codacy Badge
Dependency Status
Open Source Love
GPL Licence

Monitaure is an online service aiming to provide SysAdmins with a clean, lightweight and quick to configure monitoring dashboard.
The application does not need any client-side installation or configuration.

Monitaure main dashboard

Why it's awesome

From a technical standpoint, here are some of the key aspects of Monitaure:

  • Front-end:
    • React to manage user interface ;
    • Redux to manage application state ;
    • LocalStorage to persist the state between two visits ;
    • React-Router to handle front-end routing ;
    • A Service Worker to allow the app to be installed on phones and to work offline ;
    • Constant monitoring of the device's connectivity state: if the app becomes offline, some functionnalities requiring a network connection are disabled and the user is warned ;
    • Push notifications, on both mobile devices and desktop computers ;
    • JSX and some Jade for HTML ;
    • SASS for CSS ;
    • Babel to transpile ES6 & ES7 to older (ES5) Javascript ;
    • Webpack 2 to bundle everything up.
  • Back-end:
    • NodeJS application built on Sails.js framework ;
    • MongoDB database for data storage ;
    • Redis database for storing user sessions.
  • Security:
    • Served over HTTPS, with rock-solid SSL security (TLS 1.2, OCSP stapling, HSTS, HSTS preloading, Forward secrecy, etc.) ;
    • CSRF tokens ;
    • HttpOnly, encrypted session cookies ;
    • Content-Security-Policy, Strict-Transport-Security, X-Frame-Options, X-XSS-Protection, X-Content-Type-Options headers.
  • Performance:
    • Served over HTTP/2 ;
    • Sitting behind an NGINX reverse-proxy ;
    • Caching server-side (NGINX) as well as client-side (Service Worker for requests & assets, LocalStorage for state) ;
    • Hosted on a dedicated server running Archlinux ;
    • Gzip compression ;
    • PNGQuant & SVGO images optimization ;
    • CSS bundling and uglification ;
    • JS tree-shaking, minification, uglification, dead code elimination.
  • Misc:
    • IPV6-ready ;
    • Sendgrid to send transactionnal emails (account confirmation, alerts, etc.) ;
    • Jest for tests and code coverage ;
    • Travis CI and Codecov for build testing ;
    • ESLint and Codacy for code style and quality review ;
    • Heap Analytics for retroactive interaction statistics.

Concerning the graphical aspect of the application, you can find all the goodies here on Dribble.

Project purpose

While it is a useful service anyone can use, it is also meant -as a team project- to showcase our skills.

The team is composed of the following people:

Bonus: Error pages

Main metrics

Overview
Name With OwnerBertrand31/Monitaure
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 3)
Platform
License:GNU General Public License v3.0
所有者活动
Created At2016-02-11 17:50:03
Pushed At2017-06-28 01:56:55
Last Commit At2017-03-05 18:24:57
Release Count4
Last Release Name0.16.0 (Posted on )
First Release Name0.0.2 (Posted on )
用户参与
Stargazers Count135
Watchers Count7
Fork Count9
Commits Count853
Has Issues Enabled
Issues Count15
Issue Open Count6
Pull Requests Count0
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private