Skip to content

asaprosa/WebMonitoring

Repository files navigation

🛠️ Website Monitoring App

A web-based application that monitors website availability and sends email alerts when an issue is detected.
Keep your websites online and optimized for performance with automated pings and real-time alerts.
Built with React, TypeScript, Node.js, and Tailwind CSS.

✨ Features

  • Uptime Monitoring: Tracks the availability of websites and triggers an alert when downtime occurs.
  • Ping Prevention: Periodically pings the website to avoid sleeping in serverless backends.
  • Email Alerts: Sends automated emails when the monitored website goes down, with customizable error codes (e.g., 404, 500).
  • User Authentication: Secure user login and sign-up using Clerk authentication.
  • Customizable Monitoring: Users can set up alerts for specific websites and define custom thresholds.
  • Real-time Dashboard: View the status of all monitored websites in one place.
  • Mobile Responsive: Optimized for both desktop and mobile devices.
  • Modern Tech Stack: Built with React, Next.js, Node.js, Tailwind CSS, and PostgreSQL.

🧑‍💻 Technologies Used

  • Frontend: React, Next.js, TypeScript, Tailwind CSS
  • Backend: Node.js, Express
  • Database: PostgreSQL (via Neon)
  • Authentication: Clerk
  • Email Service: Nodemailer for email alerts
  • File Uploads: UploadThing
  • Deployment: Heroku, Render

⚙️ Installation & Setup

Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v14 or higher)
  • PostgreSQL for the database
  • Heroku or Render account for deployment

Step-by-Step Guide

  1. Clone the repository:

    git clone https://github.com/your-username/website-monitoring-app.git