A minimal Go backend for the educational deployment platform that triggers GitHub Actions for infrastructure management.
- Authentication: JWT-based auth with refresh tokens
- Projects: Create and manage deployment projects
- Applications: Deploy applications with various build types
- Addons: Deploy database and infrastructure addons
- GitHub Integration: GitHub App webhooks and repository dispatch
POST /api/v1/auth/register- Register new userPOST /api/v1/auth/login- Login userPOST /api/v1/auth/refresh- Refresh access tokenPOST /api/v1/auth/logout- Logout user
GET /api/v1/projects- Get user projectsPOST /api/v1/projects- Create projectGET /api/v1/projects/:id- Get project detailsDELETE /api/v1/projects/:id- Delete projectPOST /api/v1/projects/:id/applications- Deploy applicationPOST /api/v1/projects/:id/addons- Deploy addon
POST /api/v1/github/webhook- GitHub App webhooksGET /api/v1/github/installations- Get GitHub installations
APP_PORT=8080
JWT_SECRET=your-jwt-secret
JWT_ACCESS_EXPIRY=24h
JWT_REFRESH_EXPIRY=168h
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_DATABASE=deployment_platform
MYSQL_USERNAME=root
MYSQL_PASSWORD=password
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
GITHUB_APP_ID=your-github-app-id
GITHUB_PRIVATE_KEY=your-github-private-key
GITHUB_WEBHOOK_SECRET=your-webhook-secretcd test-backend
go mod tidy
go run cmd/api/main.go