A premium, modern web application built with Laravel 13, Vue 3, and Inertia.js for real-time domain availability monitoring.
- Domain Management: Add, edit, and delete domains with custom monitoring settings.
- Automated Monitoring: Background checks for HTTP status (UP/DOWN) with configurable intervals and timeouts.
- Detailed Logs: Comprehensive history of every check including response codes, times, and error messages.
- Real-time Notifications:
- In-app notification bell with real-time status updates.
- Email alerts when a domain status changes.
- Premium UI/UX: Built with a sleek, responsive design using Tailwind CSS, Radix UI (Reka UI), and Lucide icons.
- Type-safe Routing: Integrated with Laravel Wayfinder for seamless frontend/backend route synchronization.
- PHP 8.5+
- Node.js 22+
- Docker & Docker Compose
- Composer
If you have make installed, you can set up everything with a single command:
make setupThis will install dependencies, set up .env, start Docker containers, and run migrations.
To start the development server (Vite, Laravel, Queue, and Scheduler):
make devThis command runs the following services concurrently:
- Server:
php artisan serve - Queue:
php artisan queue:listen - Scheduler:
php artisan schedule:work(for automated domain checks) - Logs:
php artisan pail - Vite:
npm run dev
To manually trigger a check of all domains:
php artisan app:check-domainsThe system is configured to use PostgreSQL interval logic for accurate check timing.
- Backend: Laravel 13 (Fortify for Auth)
- Frontend: Vue 3, Inertia.js v3
- Database: PostgreSQL 16 (via Docker)
- Styling: Tailwind CSS v4
- Routing: Laravel Wayfinder
- Icons: Lucide Vue Next
Built as a test task with focus on clean architecture and premium user experience.