Skip to main content

๐Ÿ“Š Uptime Watcher

Version License Electron React TypeScript Build Status Quality Gate Coverage Downloads Visitor Count GitHub Stars GitHub Forks

A Electron desktop application for uptime monitoring Track multiple services simultaneously with real-time updates, response time analytics, and historical data visualization

Application Preview WIP

Uptime Watcher Mascotโ€‹

๐ŸŽฏ What is Uptime Watcher?โ€‹

Uptime Watcher is a desktop application built with modern web technologies that provides monitoring capabilities for websites, APIs, servers, and network services. Unlike most monitoring tools, there's no cloud dependency or command-line interface required. You can monitor everything with ease from a GUI.

โœจ Key Featuresโ€‹

๐ŸŒ Multi-Protocol Monitoring๐Ÿ“Š Real-Time Analytics๐Ÿ”” Smart Notifications
HTTP/HTTPS websites & APIsLive status updatesDesktop alerts for outages
TCP port connectivityResponse time trackingSound notifications
ICMP ping monitoringHistorical data visualizationCustom alert thresholds
DNS record validationPerformance metricsStatus change detection

๐Ÿ› ๏ธ Core Capabilitiesโ€‹

  • ๐ŸŽฏ Multi-Service Monitoring: Supports HTTP/HTTPS, TCP ports, ICMP ping, and DNS monitoring
  • โšก Real-Time Updates: Live status changes with sub-second responsiveness
  • ๐Ÿ“ˆ Performance Analytics: Response time tracking with trend analysis
  • ๐Ÿ“œ Historical Data: Comprehensive uptime history with SQLite storage
  • โš™๏ธ Flexible Configuration: Customizable check intervals from 30 seconds to 30 minutes
  • ๐Ÿ’พ Data Persistence: Local SQLite database with backup/restore functionality

๐Ÿ“‹ Monitor Typesโ€‹

TypePurposeFeatures
HTTP/HTTPSWebsite & API monitoringStatus codes, redirects, custom headers, SSL validation
TCP PortPort connectivity testingSocket connection validation, timeout handling
ICMP PingNetwork reachabilityPacket loss monitoring, latency measurement
DNSDNS resolution monitoringSupport for A, AAAA, CNAME, MX, TXT, NS, SRV, CAA, PTR, NAPTR, SOA, TLSA, ANY records

๐Ÿ› ๏ธ Technology Stackโ€‹

Frontend Architectureโ€‹

React TypeScript Tailwind CSS Vite

Desktop Frameworkโ€‹

Electron Node.js

State & Data Managementโ€‹

Zustand SQLite

Development & Qualityโ€‹

Vitest ESLint Prettier

๐Ÿš€ Quick Startโ€‹

Installationโ€‹

# Download the latest release from GitHub
# Available for Windows, macOS, and Linux

๐Ÿ‘‰ Download Latest Release

Option 2: Build from Sourceโ€‹

# Clone the repository
git clone https://github.com/Nick2bad4u/Uptime-Watcher.git
cd Uptime-Watcher

# Install dependencies
npm install

# Start development environment
npm run electron-dev

๐Ÿ–ผ๏ธ Screenshots & Demoโ€‹

Main Dashboardโ€‹

Main Dashboard Real-time monitoring dashboard with multiple service status overview

Monitor Configurationโ€‹

Monitor Setup Easy-to-use monitor configuration with multiple protocol support

Historical Analyticsโ€‹

Analytics View Comprehensive analytics with response time graphs and uptime statistics

Notification Systemโ€‹

Notifications Smart desktop notifications with customizable alert preferences

๐Ÿ‘จโ€๐Ÿ’ป Developmentโ€‹

Development Setupโ€‹

# Start Vite dev server only
npm run dev

# Start Electron only (requires Vite to be running)
npm run electron

# Start both Vite and Electron concurrently (recommended)
npm run electron-dev

# Build for production
npm run build

# Package the application
npm run dist

Development Prerequisitesโ€‹

RequirementVersionDownload
Node.js22.0+ (recommended)Download
npm11.5.2+ (included with Node.js)Docs
GitLatest versionDownload

> ๐Ÿ’ก Tip: Check out the Developer Quick Start Guide for detailed setup instructions and architecture overview.

Architectural Principlesโ€‹

The application follows a service-oriented architecture with clear separation of concerns:

๐Ÿ”ง Core Componentsโ€‹

  • ๐Ÿ–ฅ๏ธ Main Process (Electron): Service container with dependency injection
  • ๐ŸŽจ Renderer Process (React): Component-based UI with Zustand state management
  • ๐Ÿ”— IPC Communication: Type-safe communication via contextBridge
  • ๐Ÿ—ƒ๏ธ Database Layer: Repository pattern with SQLite and transaction safety
  • ๐Ÿ“ก Event System: TypedEventBus for cross-service communication
  • ๐Ÿ“Š Monitoring System: Enhanced monitoring with operation correlation

๐ŸŽฏ Key Design Featuresโ€‹

  • ๐Ÿ—๏ธ Service-Oriented Architecture: Modular, testable service design
  • ๐Ÿ”’ Type Safety: Strict TypeScript with comprehensive interfaces
  • ๐Ÿ“Š Enhanced Monitoring: Race condition prevention and operation correlation
  • ๐Ÿ—ƒ๏ธ Repository Pattern: Transactional database operations
  • ๐ŸŽฏ Event-Driven: Reactive communication between services

๐Ÿค Contributingโ€‹

We welcome contributions from the community! Here's how you can help:

๐ŸŽฏ Ways to Contributeโ€‹

  • ๐Ÿ› Bug Reports: Found an issue? Open an issue
  • ๐Ÿ’ก Feature Requests: Have an idea? Start a discussion
  • ๐Ÿ”ง Code Contributions: Submit pull requests with improvements
  • ๐Ÿ“š Documentation: Help improve our docs and guides
  • ๐Ÿงช Testing: Help test new features and report issues

๐Ÿ“‹ Development Guidelinesโ€‹

  1. Fork the Repository and create a feature branch
  2. Follow Code Standards (TypeScript, ESLint, Prettier)
  3. Write Tests for new functionality
  4. Update Documentation for any user-facing changes
  5. Submit a Pull Request with a clear description

๐Ÿ“„ Licenseโ€‹

License

This project is released under the Unlicense - Public Domain

You are free to use, modify, and distribute this software for any purpose, commercial or non-commercial, without any restrictions. Credit is appreciated but not required.


๐Ÿ’ฌ Get Helpโ€‹

GitHub Issues Documentation


Uptime Watcher Mascot Server
Made with โค๏ธ by Nick2bad4u

Last updated: August 2025 โ€ข Version 12.9.0