A comprehensive, production-ready, open-source API monitoring platform built with Spring Boot and React. Monitor your APIs in real-time with health checks, alerting, SLA tracking, and beautiful dashboards.
- 🔍 Health Checks: Configurable HTTP checks with custom headers, payloads, and timeouts
- 📊 Real-time Metrics: Uptime, latency, status codes, response times
- 🚨 Smart Alerting: Rule-based alerts with email/webhook notifications
- 📈 SLA Tracking: Monitor service level agreements with violation reports
- 🌍 Multi-Environment: Support for Dev, QA, Prod environments
- 🔐 JWT Authentication: Secure login with role-based access control
- 👥 Multi-User: Admin and user roles with session management
- 📧 Email Verification: Password reset and account verification
- 🏷️ API Grouping & Tagging: Organize APIs with groups and tags
- 🔄 Real-time Updates: WebSocket-powered live dashboards
- 📋 Audit Logging: Track all user actions and system events
- 📤 Export/Import: CSV exports and JSON API imports
- 🧹 Auto Cleanup: Scheduled log archiving and cleanup
- 🐳 Docker Ready: Complete containerization with docker-compose
- 🔧 CI/CD: GitHub Actions for automated testing and deployment
- 📚 API Documentation: Auto-generated Swagger UI
- 🧪 Testing: Unit and integration tests included
- 📖 Documentation: Comprehensive setup and API guides
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ React UI │ │ Spring Boot │ │ PostgreSQL │
│ (Frontend) │◄──►│ (Backend) │◄──►│ (Database) │
│ │ │ │ │ │
│ - Dashboard │ │ - REST APIs │ │ - APIs │
│ - API Mgmt │ │ - Health Checks │ │ - Logs │
│ - Alerts │ │ - Alert Engine │ │ - Users │
│ - Real-time │ │ - JWT Auth │ │ - Metrics │
└─────────────────┘ └─────────────────┘ └─────────────────┘
▲
│
┌─────────────────┐
│ Redis │
│ (Caching) │
└─────────────────┘
- Docker & Docker Compose
- Git
-
Clone the repository
git clone https://github.com/code-xon/API-Monitoring-Dashboard.git cd API-Monitoring-Dashboard -
Start the services
cd docker docker-compose up -d -
Access the application
- Frontend: http://localhost:3000
- Backend API: http://localhost:8080
- API Docs: http://localhost:8080/swagger-ui.html
- Database Admin: http://localhost:5050 (admin@example.com / admin)
- Email Testing: http://localhost:8025
-
Login
- Default User: admin@example.com
- Password: Password123!
- 📖 Setup Guide - Detailed installation and configuration
- 🔗 API Documentation - Complete API reference
- 🤝 Contributing - How to contribute
- 📜 License - MIT License
- Java 17 - Runtime
- Spring Boot 3.x - Framework
- Spring Security - Authentication & Authorization
- Spring Data JPA - Database ORM
- PostgreSQL - Primary database
- Redis - Caching & sessions
- JUnit 5 - Testing
- React 18 - UI Framework
- TypeScript - Type safety
- Vite - Build tool
- Tailwind CSS - Styling
- Recharts - Data visualization
- Axios - HTTP client
- Jest - Testing
- Docker - Containerization
- Docker Compose - Multi-service orchestration
- GitHub Actions - CI/CD
- Maven - Java build tool
- NPM - Node package manager
# Database
DB_HOST=postgres
DB_PORT=5432
DB_NAME=monitor
DB_USER=monitor
DB_PASSWORD=monitorpass
# Authentication
JWT_SECRET=your-secret-key
# Email (SMTP)
SMTP_HOST=smtp-test
SMTP_PORT=1025
# Frontend
FRONTEND_URL=http://localhost:3000- Frontend: 3000
- Backend: 8080
- Database: 5432
- Redis: 6379
- PgAdmin: 5050
- MailHog: 8025
cd backend
mvn testcd frontend
npm testcd docker
docker-compose -f docker-compose.test.yml upWe welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with ❤️ using Spring Boot and React
- Inspired by modern monitoring platforms
- Thanks to the open-source community
Made with ❤️ by Ramkrishna
Lead Developer: Ramkrishna
Support Email: ramkrishna@code-xon.fun
GitHub: @code-xon
⭐ Star this repo if you find it useful!