How go-admin-team/go-admin works
go-admin is a Gin-based backend for a front-end-separated administration system. An operator’s client sends REST requests; the server builds routes and middleware, authenticates users with JWT, applies Casbin RBAC, and serves administrative functions backed by GORM. The product also includes code generation, form building, service monitoring, file handling, and job management. Startup and migration commands initialize runtime resources and database schemas. The excerpts show selected routing, authentication, database, storage, and migration behavior; several feature links below are documented or marked unverified rather than inferred from unsampled implementations.
Main entry points: sys_router.go Route registration · server.go HTTP server · file.go File handling · auth.go JWT authentication
Components 19
API runtime
- HTTP server
cmd/api/server.go - Route registration
app/admin/router/sys_router.go - JWT authentication
common/middleware/auth.go - Login and identity
common/middleware/handler/auth.go - RBAC permissions
common/middleware/permission.go
Administration
- Admin APIs
app/admin/apis/sys_user.go - Admin services
app/admin/service/sys_user.go - Admin data models
app/admin/models/sys_user.go - Admin capabilities
app/admin/service
Product extensions
- Code generation
app/other/apis/tools/gen.go - Form builder
static/form-generator/js/index.8e6d9f8f.js - Service monitoring
app/other/apis/sys_server_monitor.go - File handling
app/other/apis/file.go - Job management
app/jobs/service/sys_job.go
Data and operations
- Database setup
common/database/initialize.go - Cache and queue
common/storage/initialize.go - Schema migrations
cmd/migrate/install.go - File providers
common/file_store/initialize.go
Other components
- Operator client
Connections 16
- Operator client → HTTP server: sends requests
- HTTP server → Route registration: builds routes
cmd/api/server.go - Route registration → JWT authentication: registers login
app/admin/router/sys_router.go - Route registration → RBAC permissions: protects routes
app/admin/router/sys_router.go - JWT authentication → Login and identity: uses handlers
common/middleware/auth.go - Admin APIs → Admin services: delegates
- Admin services → Admin data models: uses models
- Database setup → HTTP server: initializes runtime
- Cache and queue → HTTP server: initializes adapters
- Schema migrations → Database setup: uses database
- Code generation → Route registration: registers endpoints
- Form builder → Code generation: supports generation
- Service monitoring → Route registration: serves monitoring
- File handling → Route registration: serves file APIs
- Job management → HTTP server: starts jobs
cmd/api/server.go - File handling → File providers: uses providers