mss-boot-admin

English | ็ฎไฝไธญๆ
Introduction
mss-boot-admin is a front-end and back-end separation admin platform based on Gin, React, Ant Design v5, Umi v4, and mss-boot. Its current product focus is governance, operations, configuration, access control, internationalization, and AI-annotation-assisted engineering collaboration.
The repository still contains some historical dynamic-model and code-generation related capabilities, but they are no longer the primary direction for future product investment.
Recent Updates
The project has undergone comprehensive polish rounds focusing on:
- Stability (P0): Fixed nil dereference risks, boundary checks, panic prevention, auth coverage, and polling cleanup
- Code Quality: Eliminated all TypeScript errors, unified page structures, removed duplicate keys
- Abstraction: Created reusable components (AuthShell, useMonitorData hook), unified API response format
- Testing: Documented 70+ test cases, executed core scenarios successfully
- Documentation: Added CHANGELOG, CONTRIBUTING guide, and comprehensive configuration tutorial
Beta Environment
Swagger
Tutorial
Online documentation
Video tutorial
Project address
Backend project
Front-end project
๐ฌ Experience environment
Experience address
Account: admin Password: 123456
โจ Features
- Support internationalization
- Standard Restful API development specifications
- RBAC permission management based on Casbin
- Database storage based on Gorm
- Middleware development based on Gin
- Swagger document generation based on Gin
- Support oauth2.0 third-party login
- Support swagger document generation
- Support multiple configuration sources (local files, embed, object storage s3, etc., databases supported by gorm, mongodb)
- Support database migration
- Support governance-oriented admin modules such as users, roles, menus, departments, posts, APIs, and configuration
- Support operational modules such as notices, tasks, monitoring, and statistics
- Evolving toward AI-annotation-assisted engineering workflows for clearer collaboration and delivery discipline
๐ฆ Built-in functions
- User management: Users are system operators, and this function mainly completes the configuration of system users.
- Department management: Maintain organization hierarchy and ownership boundaries.
- Post management: Maintain post data for organization and permission collaboration.
- Role management: Role menu permission allocation, set role data range permission division by organization.
- Menu management: Configure system menus, operation permissions, button permission identifiers, etc.
- API management: Maintain API registry information for governance and permission mapping.
- Option management: dynamically configure enumerations.
- System configuration: Manage the configuration of various environments.
- Notice announcement: user notification message.
- Task management: Manage scheduled tasks, including execution logs.
- Internationalization management: Manage internationalization resources.
- Account and token management: Support OAuth2 binding and personal access tokens.
- Monitoring and statistics: Provide runtime visibility and statistics querying capabilities.
๐ฆ Preparation
- Install golang1.21+
- Install mysql8.0+
- Install nodejs18.16.0+
๐ฆ Quick start
1. Download the project
# Download the backend project
git clone https://github.com/mss-boot-io/mss-boot-admin.git
# Download the front-end project
git clone https://github.com/mss-boot-io/mss-boot-admin-antd.git
2. Migrate the database
# Enter the backend project
cd mss-boot-admin
# Configure database connection information (can be modified according to actual situation)
export DB_DSN="root:123456@tcp(127.0.0.1:3306)/mss-boot-admin-local?charset=utf8mb4&parseTime=True&loc=Local"
# Migrate the database
go run main.go migrate
# Generate API interface information
go run main.go server -a
4. Start the backend service
# Start the backend service
go run main.go server
5. Start the front-end service
# Enter the front-end project
cd mss-boot-admin-antd
# Install dependencies
npm install
# Start the front-end service
npm run start
๐จ Interaction
 |
 |
 |
 |
mss-boot-io |
| telegram๐ฅ๐ฅ๐ฅ |
WeChat |
WeChat MP๐ฅ๐ฅ๐ฅ |
 |
bilibili๐ฅ๐ฅ๐ฅ |
๐ Contributors

JetBrains open source certificate support
The mss-boot-io project has always been developed in the GoLand integrated development environment under JetBrains, based on the free JetBrains Open Source license(s) genuine free license. I would like to express my gratitude.

๐ค Special thanks
- ant-design
- ant-design-pro
- umi
- gin
- casbin
- gorm
- gin-swagger
- jwt-go
- oauth2
If you think this project helped you, you can buy a glass of juice for the author to show encouragement ๐น
Testing
The project follows strict testing requirements to ensure code quality and reliability.
Test Types
1. Unit Tests
2. Integration Tests
3. End-to-End (E2E) Tests
- Full Stack Testing: Uses Playwright for browser automation
- Critical user flows: login, CRUD operations, permissions
- Run command:
pnpm e2e (executed in frontend project)
Development Workflow
1. DEVELOPMENT PHASE
โโโ Write code
โโโ Write tests (TDD preferred)
โโโ Ensure compilation
2. TESTING PHASE (MANDATORY)
โโโ Unit Tests: go test ./...
โโโ Integration Tests: go test -tags=integration ./...
โโโ E2E Tests: pnpm e2e (for major features)
3. VERIFICATION PHASE
โโโ Check test coverage (โฅ80%)
โโโ All tests must pass
โโโ Document test results
Coverage Requirements by Component
| Component |
Unit Tests |
Integration Tests |
Min Coverage |
| Models |
โ
Required |
Optional |
80% |
| Services |
โ
Required |
โ
Required |
85% |
| APIs |
โ
Required |
โ
Required |
80% |
| Utils |
โ
Required |
Optional |
90% |
Test Structure Example
// service/user_test.go
package service
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestUserService_Create(t *testing.T) {
// Setup
db := setupTestDB(t)
svc := &UserService{}
// Execute
user, err := svc.Create(ctx, &CreateUserRequest{...})
// Verify
assert.NoError(t, err)
assert.NotNil(t, user)
assert.Equal(t, "expected", user.Field)
}
Pre-commit Hooks
Before committing, run:
# Run all tests
go test ./... -v -race -coverprofile=coverage.out
# Check coverage meets requirements
go tool cover -func=coverage.out | grep total # Must be โฅ 80.0%
๐ License
MIT
Copyright (c) 2024 mss-boot-io