Monitaure

A server uptime monitoring progressive web application

Github星跟蹤圖

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

主要指標

概覽
名稱與所有者Bertrand31/Monitaure
主編程語言JavaScript
編程語言JavaScript (語言數: 3)
平台
許可證GNU General Public License v3.0
所有者活动
創建於2016-02-11 17:50:03
推送於2017-06-28 01:56:55
最后一次提交2017-03-05 18:24:57
發布數4
最新版本名稱0.16.0 (發布於 )
第一版名稱0.0.2 (發布於 )
用户参与
星數135
關注者數7
派生數9
提交數853
已啟用問題?
問題數15
打開的問題數6
拉請求數0
打開的拉請求數0
關閉的拉請求數0
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?