Thanks to visit codestin.com
Credit goes to Github.com

Skip to content
This repository was archived by the owner on Dec 3, 2025. It is now read-only.

skiddle-archives/domain-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Domain Monitor

A web application for monitoring domain blocking status with user management and credit-based API access.

Features

  • User Authentication System

    • Role-based authentication (admin/user)
    • JWT-based secure login
    • Registration with password validation
    • Protected routes based on user roles
  • Domain Monitoring

    • Add/remove domains for monitoring
    • Real-time domain status checking
    • Credit-based domain check system
    • Automatic interval-based domain status updates
  • Credit System

    • Per-domain credit deduction
    • Credit tracking for domain checks
    • Configurable check intervals
    • Prevents domain checks when credits are insufficient

Tech Stack

  • Frontend:

    • React
    • React Router
    • Context API for state management
    • Tailwind CSS for styling
    • Axios for API calls
  • Backend:

    • Node.js
    • Express
    • MySQL
    • JWT for authentication
    • Bcrypt for password hashing

Prerequisites

  • Node.js (v14 or higher)
  • MySQL (v8 or higher)
  • npm or yarn

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/domain-monitor.git
cd domain-monitor
  1. Install backend dependencies:
cd backend
npm install
  1. Install frontend dependencies:
cd ../frontend
npm install
  1. Create a MySQL database:
CREATE DATABASE domain_monitor;
  1. Configure environment variables: Create a .env file in the backend directory:
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=domain_monitor
JWT_SECRET=your-secret-key-here
PORT=5000
  1. Initialize the database:
cd backend
mysql -u root -p domain_monitor < database.sql

Running the Application

  1. Start the backend server:
cd backend
npm start
  1. Start the frontend development server:
cd frontend
npm start
  1. Access the application:

Default Admin Account

API Documentation

See API Documentation for detailed API endpoints and usage.

Credit System

  • Each user starts with 100 credits
  • Each domain check costs 1 credit
  • Credits are deducted for:
    1. Initial domain check when adding
    2. Manual domain checks
    3. Automatic background checks

Domain Status Checking

The application uses the Skiddle API (https://check.skiddle.id/) to check domain blocking status:

  • Single domain check endpoint: https://check.skiddle.id/?domain=example.com&json=true
  • Batch domain check endpoint: https://check.skiddle.id/?domains=domain1.com,domain2.com&json=true

Security Considerations

  1. JWT token-based authentication
  2. Role-based access control
  3. Secure password storage (bcrypt)
  4. Credit system prevents unlimited API usage
  5. Server-side input validation
  6. Protected API endpoints

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

© Skiddle ID 2025
Licensed under MIT

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published