some ui changes and docs

This commit is contained in:
Doar Mihai
2026-03-28 22:07:06 +02:00
parent 612cc097f8
commit fab6105751
10 changed files with 247 additions and 75 deletions
+217 -38
View File
@@ -1,59 +1,238 @@
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400" alt="Laravel Logo"></a></p>
# IsMySiteUp.Online
<p align="center">
<a href="https://github.com/laravel/framework/actions"><img src="https://github.com/laravel/framework/workflows/tests/badge.svg" alt="Build Status"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
</p>
Privacy-first website monitoring application built with Laravel. Monitor your websites' uptime, SSL certificates, broken links, DNS records, and more - all while respecting user privacy with GDPR compliance.
## About Laravel
## Features
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
- **Uptime Monitoring** - Real-time HTTP/HTTPS monitoring with response time tracking
- **SSL Certificate Monitoring** - Automatic expiration alerts 30 days in advance
- **Broken Link Detection** - Crawl and identify broken links on your websites
- **DNS Monitoring** - Track DNS record changes and modifications
- **Domain Expiry Tracking** - Get notified before your domains expire
- **Sitemap Validation** - Validate XML sitemaps for proper indexing
- **Health Checks** - Monitor custom health endpoints and APIs
- **TCP Port Monitoring** - Check TCP port availability and connectivity
- [Simple, fast routing engine](https://laravel.com/docs/routing).
- [Powerful dependency injection container](https://laravel.com/docs/container).
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
- [Robust background job processing](https://laravel.com/docs/queues).
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
## Requirements
Laravel is accessible, powerful, and provides tools required for large, robust applications.
- Docker & Docker Compose
- Laravel Sail (included)
- PHP 8.2+
- MySQL 8.0+
## Learning Laravel
## Installation
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. You can also check out [Laravel Learn](https://laravel.com/learn), where you will be guided through building a modern Laravel application.
1. Clone the repository
```bash
git clone <repository-url>
cd ismysiteup.online
```
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
2. Copy environment file
```bash
cp .env.example .env
```
## Laravel Sponsors
3. Start Docker containers with Sail
```bash
./vendor/bin/sail up -d
```
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the [Laravel Partners program](https://partners.laravel.com).
4. Install dependencies
```bash
./vendor/bin/sail composer install
./vendor/bin/sail npm install
```
### Premium Partners
5. Generate application key
```bash
./vendor/bin/sail artisan key:generate
```
- **[Vehikl](https://vehikl.com)**
- **[Tighten Co.](https://tighten.co)**
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
- **[64 Robots](https://64robots.com)**
- **[Curotec](https://www.curotec.com/services/technologies/laravel)**
- **[DevSquad](https://devsquad.com/hire-laravel-developers)**
- **[Redberry](https://redberry.international/laravel-development)**
- **[Active Logic](https://activelogic.com)**
6. Run migrations
```bash
./vendor/bin/sail artisan migrate
```
## Contributing
7. Build frontend assets
```bash
./vendor/bin/sail npm run build
```
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
## Running the Application
## Code of Conduct
### Start the application
```bash
./vendor/bin/sail up -d
```
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
### Access the application
- Web: http://localhost
- phpMyAdmin: http://localhost:8080 (if configured)
## Security Vulnerabilities
## Queue Workers
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
**IMPORTANT**: The application uses queues for background monitoring tasks. You MUST run the queue workers for monitoring to work properly.
### Required Queue Workers
The monitoring jobs are dispatched to the `monitoring` queue. Run the queue worker with:
```bash
./vendor/bin/sail artisan queue:work --queue=monitoring,default
```
**Or run both queues separately in different terminals:**
```bash
# Terminal 1 - Monitoring queue (highest priority)
./vendor/bin/sail artisan queue:work --queue=monitoring
# Terminal 2 - Default queue
./vendor/bin/sail artisan queue:work --queue=default
```
**For production, use Supervisor or systemd to keep workers running:**
```ini
[program:ismysiteup-worker-monitoring]
command=php /path/to/artisan queue:work --queue=monitoring --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
user=www-data
[program:ismysiteup-worker-default]
command=php /path/to/artisan queue:work --queue=default --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
user=www-data
```
## Monitoring Commands
All monitoring tasks should be scheduled in your crontab or Laravel scheduler.
### Available Commands
| Command | Description | Recommended Schedule |
|---------|-------------|---------------------|
| `monitor:uptime` | Check uptime for all enabled sites | Every 5 minutes |
| `monitor:ssl` | Check SSL certificates for all sites | Every 6 hours |
| `monitor:links` | Scan for broken links | Daily |
| `monitor:dns` | Monitor DNS record changes | Every hour |
| `monitor:domains` | Check domain expiry dates | Daily |
| `monitor:sitemaps` | Validate XML sitemaps | Daily |
| `monitor:health` | Monitor health endpoints | Every 5 minutes |
| `monitor:tcp-ports` | Monitor TCP port availability | Every 5 minutes |
| `monitor:ping` | Quick ping check for sites | Every minute |
### Manual Command Execution
Run any monitoring command manually:
```bash
./vendor/bin/sail artisan monitor:uptime
./vendor/bin/sail artisan monitor:ssl
./vendor/bin/sail artisan monitor:links
# etc...
```
### Schedule Configuration
Add to `app/Console/Kernel.php`:
```php
protected function schedule(Schedule $schedule)
{
// High-frequency checks
$schedule->command('monitor:uptime')->everyFiveMinutes();
$schedule->command('monitor:ping')->everyMinute();
$schedule->command('monitor:health')->everyFiveMinutes();
$schedule->command('monitor:tcp-ports')->everyFiveMinutes();
// Medium-frequency checks
$schedule->command('monitor:dns')->hourly();
$schedule->command('monitor:ssl')->everySixHours();
// Daily checks
$schedule->command('monitor:links')->daily();
$schedule->command('monitor:domains')->daily();
$schedule->command('monitor:sitemaps')->daily();
}
```
Then run the scheduler:
```bash
./vendor/bin/sail artisan schedule:work
```
Or add to crontab:
```
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
```
## Development
### Run tests
```bash
./vendor/bin/sail artisan test
```
### Watch frontend assets
```bash
./vendor/bin/sail npm run dev
```
### Access container shell
```bash
./vendor/bin/sail shell
```
### Access MySQL
```bash
./vendor/bin/sail mysql
```
## Troubleshooting
### Jobs not processing?
1. Ensure queue workers are running with correct queue names
2. Check `jobs` table for pending jobs: `SELECT * FROM jobs;`
3. Check `failed_jobs` table for errors: `SELECT * FROM failed_jobs;`
4. Verify queue connection in `.env`: `QUEUE_CONNECTION=database`
### No uptime checks appearing?
1. Verify sites have `monitoring_enabled = 1`
2. Run command manually: `./vendor/bin/sail artisan monitor:uptime -v`
3. Check queue worker is processing `monitoring` queue
4. Check logs: `./vendor/bin/sail artisan queue:work --queue=monitoring --once`
### Clear caches
```bash
./vendor/bin/sail artisan cache:clear
./vendor/bin/sail artisan config:clear
./vendor/bin/sail artisan route:clear
./vendor/bin/sail artisan view:clear
```
## Database Structure
Key tables:
- `sites` - Monitored websites
- `uptime_checks` - Uptime monitoring results
- `ssl_certificates` - SSL certificate data
- `broken_links` - Detected broken links
- `dns_records` - DNS record snapshots
- `domains` - Domain expiry tracking
- `health_checks` - Health endpoint results
- `tcp_ports` - TCP port monitoring
- `jobs` - Queued jobs (monitoring queue)
- `job_batches` - Batch job tracking
- `failed_jobs` - Failed job logs
## License
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
This project is proprietary software.
## Support
For issues or questions, please contact the development team.