/website_monitor

This repository features a Website Monitoring Tool built with the MEAN stack. Some of the functions are HTTP Status Codes verification and Keyword search on content.

Primary LanguageJavaScript

Website monitoring application

This is a very simple web application to monitor the status of websites, built with the full MEAN (Mongo,Express,Angular,Node) application stack.

Features:

  • Web interface to add, remove and edit websites to monitor,

  • Monitor the HTTP Status Code of each site

  • View the status of Keyword search on each site

  • periodic server update of the information

  • User cannot insert invalid information, such as malformed or empty fields

  • websites that are not live cannot be inserted

Since i built this thing to be hosted on my home server, there are no logins or anything that resembles security measures.

How to Install and Deploy

This app needs MongoDB, and Node.js with Express and a bunch of other packages that will be installed after cloning this repo. The front-end library, Angularjs, is loaded from Google API from the client side.

Commands required to get the app running the first time, assuming that Node.js and MongoDB are in the same machine.

		sudo apt-get install mongodb
		sudo apt-get install nodejs
		npm -g install express

		# git clone ...
		cd <reponame>
		npm init # creates the folder node_modules
		npm install # install project dependencies

		# start the application
		npm start

How the Node connects with MongoDB on localhost

		mongoose.connect('mongodb://localhost/site_monitordb');

Here is a sample image of the interface.

Index panel Add new site Form

Built With

  • Node-js - v5.6.0
  • Express4 - 4.13.4
  • Angular2 - 1.5.7
  • MongoDB - 3.0.9

Node dependencies:

Improvements

  • get whois information to get remaining time of a domain register
  • add logs and graphics to analyse them
    • monitor db size
  • add multiple pages on each site
  • add email alerts / periodic reports