Welcome to the Tracker documentation! This guide will help you get started, deploy, and contribute to the project.
- Deployment Guide - All deployment methods (Docker, Kubernetes, local)
- Docker Build Guide - Build and run with Docker
- Skaffold Guide - Deploy to Kubernetes with Skaffold
- Choose your deployment method (Docker recommended)
- Start the application
- Access the web UI at http://localhost:8080
- Explore the Swagger UI at http://localhost:8080/docs
- Events Management - Track deployments, incidents, operations, and drifts
- Service Catalog - Maintain inventory of services and components
- Timeline View - Visualize events chronologically
- Calendar View - See events in calendar format
- Dashboard - Overview and statistics
- Deployments 🚀 - Track service deployments
- Operations 🔧 - Monitor operational tasks
- Drifts 🔀 - Detect configuration drifts
- Incidents 🔥 - Manage incidents
- RPA Usage 🤖 - Track automation executions
- Build Fixes - Solutions to common build issues
- Integration Summary - Frontend/Backend integration details
- Changes Summary - Complete list of modifications
- API Enum Conversion - How enums are converted between frontend and backend
- Catalog UI Improvements - UI enhancements documentation
- Web Frontend README - React/TypeScript frontend documentation
- Open Source Banner - Banner component documentation
- Docker Build Guide
- Multi-stage build process
- Frontend + Backend integration
- Troubleshooting
- Skaffold Guide
- Production deployment
- Development with hot-reload
- CI/CD integration
- Deployment Guide
- Docker
- Docker Compose
- Kubernetes (Skaffold)
- Kubernetes (Helm)
- Local development
┌─────────────────────────────────────────────────────────────┐
│ Tracker Application │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ React UI │ │ REST API │ │ Swagger UI │ │
│ │ (Port 8080) │ │ (Port 8080) │ │ (Port 8080) │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ └─────────────────┼─────────────────┘ │
│ │ │
│ ┌────────▼────────┐ │
│ │ grpc-gateway │ │
│ │ (REST → gRPC) │ │
│ └────────┬────────┘ │
│ │ │
│ ┌─────────────────┼─────────────────┐ │
│ │ │ │ │
│ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ │
│ │ Event │ │Catalog │ │ Lock │ │
│ │ Service │ │Service │ │ Service │ │
│ └────┬────┘ └────┬────┘ └────┬────┘ │
│ │ │ │ │
│ └────────────────┼─────────────────┘ │
│ │ │
│ ┌──────▼──────┐ │
│ │ MongoDB │ │
│ │ / FeretDB │ │
│ └─────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Prometheus Metrics (Port 8081) │ │
│ └──────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ gRPC API (Port 8765) │ │
│ └──────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
- gRPC Server - Native high-performance API
- REST Gateway - HTTP/JSON endpoints
- Event Service - Event management
- Catalog Service - Service inventory
- Lock Service - Distributed locking
- Dashboard - Overview and statistics
- Timeline - Chronological event view
- Calendar - Monthly calendar view
- Forms - Create events, drifts, RPA operations
- Catalog - Service inventory table
- MongoDB - Primary data store
- FeretDB - PostgreSQL-compatible alternative
POST /api/v1alpha1/event- Create eventPUT /api/v1alpha1/event- Update eventGET /api/v1alpha1/event/{id}- Get eventDELETE /api/v1alpha1/event/{id}- Delete eventGET /api/v1alpha1/events/list- List eventsGET /api/v1alpha1/events/search- Search eventsGET /api/v1alpha1/events/today- Today's events
PUT /api/v1alpha1/catalog- Create/Update catalog entryGET /api/v1alpha1/catalog- Get catalog entryDELETE /api/v1alpha1/catalog- Delete catalog entryGET /api/v1alpha1/catalogs/list- List catalog entries
POST /api/v1alpha1/lock- Acquire lockDELETE /api/v1alpha1/lock- Release lockGET /api/v1alpha1/locks- List locks
- Swagger UI: http://localhost:8080/docs
- OpenAPI Spec: http://localhost:8080/swagger.json
See Build Fixes for solutions to:
- TypeScript errors
- Go module issues
- Docker build failures
- npm build errors
See Deployment Guide for:
- Docker container issues
- Kubernetes pod failures
- Port conflicts
- Database connection errors
- Clear browser cache
- Check console for errors
- Verify API connectivity
- Check dark mode compatibility
- Fork the repository
- Create a feature branch
- Make your changes
- Write tests
- Submit a pull request
# Clone your fork
git clone https://github.com/YOUR_USERNAME/tracker.git
cd tracker
# Backend
go run main.go serv
# Frontend (in another terminal)
cd web
npm install
npm run dev- Go: Follow standard Go conventions
- TypeScript: Use ESLint configuration
- Commits: Use conventional commits
- GitHub Issues: Report bugs
- GitHub Discussions: Ask questions
- Documentation: You're reading it! 📖
Happy Tracking! 🚀