How eduardolat/pgbackweb works
PG Back Web is a PostgreSQL backup-management web application. Users configure databases and destinations, define backup jobs, then run or schedule executions; they can monitor results, download backups, and initiate restorations. The dashboard also manages users, sessions, and event webhooks, while health checks and notifications are documented capabilities. The graph follows the server bootstrap, routing, and service composition shown in excerpts; database schema internals and several runtime integrations were not sampled, so uncertain links are omitted or marked unverified.
Main entry points: service.go Service composition · executions Backup executions · main.go Server bootstrap · restorations Restoration workflow
Components 26
Application entry
- Server bootstrap
cmd/app/main.go
Web interface
- HTTP router
internal/view/router.go - Web routes
internal/view/web/router.go - Dashboard routes
internal/view/web/dashboard/router.go - Browser assets
internal/view/static/js - Authentication UI
internal/view/web/auth - Resource screens
internal/view/web/dashboard
Backup domain
- Service composition
internal/service/service.go - Authentication
internal/service/auth - User management
internal/service/users - Database management
internal/service/databases - Destination management
internal/service/destinations - Backup scheduling
internal/service/backups - Backup executions
internal/service/executions - Restoration workflow
internal/service/restorations - Event webhooks
internal/service/webhooks
Runtime integrations
- PostgreSQL operations
internal/integration/postgres/postgres.go - Backup storage
internal/integration/storage - Local storage
internal/integration/storage/local.go - S3 storage
internal/integration/storage/s3.go
Shared platform
- Cron scheduler
internal/cron/cron.go - Application database
internal/database/connect.go
Other components
- Operator
- Managed PostgreSQL
- S3 service
- Webhook endpoint
Connections 33
- Operator → HTTP router: uses
- Server bootstrap → Cron scheduler: starts
cmd/app/main.go - Server bootstrap → Application database: connects
cmd/app/main.go - Server bootstrap → Service composition: constructs
cmd/app/main.go - Server bootstrap → HTTP router: mounts
cmd/app/main.go - HTTP router → Web routes: mounts
internal/view/router.go - HTTP router → Dashboard routes: mounts API
internal/view/router.go - Web routes → Authentication UI: routes to
internal/view/web/router.go - Web routes → Dashboard routes: routes to
internal/view/web/router.go - Dashboard routes → Resource screens: mounts screens
internal/view/web/dashboard/router.go - Dashboard routes → Service composition: uses
internal/view/web/dashboard/router.go - Service composition → Authentication: constructs
internal/service/service.go - Service composition → User management: constructs
internal/service/service.go - Service composition → Database management: constructs
internal/service/service.go - Service composition → Destination management: constructs
internal/service/service.go - Service composition → Backup scheduling: constructs
internal/service/service.go - Service composition → Backup executions: constructs
internal/service/service.go - Service composition → Restoration workflow: constructs
internal/service/service.go - Service composition → Event webhooks: constructs
internal/service/service.go - Service composition → Cron scheduler: receives scheduler
internal/service/service.go - Service composition → Application database: receives queries
internal/service/service.go - Backup scheduling → Backup executions: invokes
internal/service/service.go - Restoration workflow → Backup executions: uses
internal/service/service.go - Restoration workflow → Database management: uses
internal/service/service.go - Restoration workflow → Destination management: uses
internal/service/service.go - Backup executions → PostgreSQL operations: runs backups
- Backup executions → Backup storage: stores artifacts
- Backup storage → Local storage: selects
- Backup storage → S3 storage: selects
- PostgreSQL operations → Managed PostgreSQL: backs up
- S3 storage → S3 service: transfers files
- Event webhooks → Webhook endpoint: sends events
- Browser assets → Operator: enhances UI
internal/view/static/js/app.js