go-live-tracker / README.md
go-live-tracker
A dashboard to track all of Rihal's websites' go live readiness and status.
Last updated: 4/16/2026GitHub
go-live-tracker
A dashboard to track all of Rihal's websites' go live readiness and status.
Architecture
This application is built with:
Backend (/server)
- Go with Gin web framework
- SQLC for type-safe SQL queries
- golang-migrate for database migrations
- PostgreSQL database
- Air for hot reloading during development
Proxy (/proxy)
- Nginx reverse proxy configuration
- Routes API requests to the Go backend
- Serves static files
- Single entry point on port 80
Docker Setup
- Docker Compose orchestration
- PostgreSQL with sample data
- Nginx proxy for unified access
- Air for Go application hot reloading
Quick Start
-
Clone the repository
git clone <repository-url> cd go-live-tracker -
Start the application
docker compose up --build -
Access the application
- Frontend: http://localhost
- API Documentation: http://localhost
- Health Check: http://localhost/health
- Direct API Access: http://localhost/api/websites
API Endpoints
Websites
GET /api/websites- List all websitesPOST /api/websites- Create a new websiteGET /api/websites/:id- Get a specific websitePUT /api/websites/:id- Update a websiteDELETE /api/websites/:id- Delete a website
Readiness Checks
GET /api/websites/:id/checks- Get readiness checks for a websitePOST /api/websites/:id/checks- Create a readiness checkPUT /api/checks/:id- Update a readiness check
System
GET /health- Health check endpoint
Development
Prerequisites
- Docker and Docker Compose
- Go 1.21+ (for local development)
Local Development
# Start only the database
docker compose up postgres -d
# Run the Go application locally
cd server
go run cmd/server/main.go
Database Management
The database is automatically initialized with sample data when the PostgreSQL container starts.
Hot Reloading
The application uses cosmtrek/air for hot reloading during development. Changes to Go files will automatically restart the server.
SQLC Code Generation
If you modify the SQL queries or schema:
cd server
./sqlc generate
Configuration
Environment Variables
DATABASE_URL- PostgreSQL connection stringPORT- Server port (default: 8080)GIN_MODE- Gin mode (debug/release)
Default Database Credentials
- User:
postgres - Password:
123456 - Database:
go_live_tracker
Sample Data
The application comes with sample data including:
- 3 sample websites (Rihal Main Website, Dashboard, API Portal)
- Various readiness checks (SSL Certificate, Performance Test, Security Scan)
- Different statuses (ready, testing, not_ready, completed, in_progress, pending)
Contributing
- Make changes to the appropriate files
- Test your changes with
docker compose up --build - Ensure all endpoints work correctly
- Submit a pull request