Skip to content

Introduction

Art Admin is an AI-friendly full-stack admin framework built on .NET 10 Minimal API + Vue 3 (art-design-pro). It features a clean architecture design with complete permission management, user authentication, and multi-client API routing.

Why Art Admin?

Designed for AI Collaboration

Traditional admin frameworks have redundant code, inconsistent styles, and many implicit conventions — making it hard for AI to understand and generate correct code. Art Admin solves this at the architecture level:

  • Clean Layering — Four-layer architecture with clear responsibilities; AI knows where code belongs
  • Convention over Configuration[Service] for auto-DI, IAdminRouterBase for auto-routing, zero boilerplate
  • Consistent Code Patterns — All Services, Routers, and Entities follow the same conventions
  • Built-in Copilot Instructions.github/copilot-instructions.md with complete coding guidelines

Batteries Included

FeatureImplementation
Auto DI[Service] attribute + assembly scanning
Auto RoutingIAdminRouterBase / IAppRouterBase / ICommonRouterBase
AuthenticationReference Token + Redis cache
RBAC PermissionsUser → Role → Permission → Menu complete access control
Multi-TenancyITenantEntity + auto QueryFilter
Distributed LockRedis SetNx + watchdog renewal
Message QueueRedis List (RPUSH / RPOP)
Delay QueueRedis Sorted Set + Lua atomic consume
Task SchedulerCustom scheduler + distributed lock dedup + graceful shutdown
LoggingSerilog daily-partitioned MySQL sink
Snowflake IDYitter + Redis auto WorkerId allocation

Beautiful Frontend

The frontend is based on art-design-pro, Vue 3 + Element Plus + TailwindCSS 4.

For detailed frontend documentation, see the art-design-pro docs

Multi-Client API Support

The framework provides three independent API groups that can be freely extended:

InterfacePrefixAuth
IAdminRouterBase/admin/*Platform Token
IAppRouterBase/app/*Client Token
ICommonRouterBase/common/*Public

Tech Stack

TechnologyVersionDescription
.NET10.0Runtime framework
ASP.NET Core10.0Web framework (Minimal API)
Entity Framework Core9.0ORM
Pomelo.EntityFrameworkCore.MySql9.0MySQL driver
FreeRedis1.5.5Redis client
Serilog4.3.0Structured logging
Yitter.IdGenerator1.0.14Snowflake ID generator
Swashbuckle10.1.0Swagger docs
Flurl.Http4.0.2HTTP client
Vue 33.xFrontend framework (Composition API)
Element Plus-UI components
TailwindCSS4.xUtility-first CSS
Vite7.xLightning build
Pinia-State management

Live Demo

API Docs (SwaggerSloop)

The Swagger UI in this project is powered by SwaggerSloop, an open-source Swagger enhancement middleware developed by the Art Admin author, providing a beautiful API docs experience with multi-group navigation and auth debugging:

Demo account: admin / 123456

The demo environment has Demo Mode enabled — all write operations (create, edit, delete, change password) are intercepted and won't persist to the database.

Demo Mode

The project has a built-in demo mode switch for deploying public demo sites. When enabled, users can browse and log in normally, but all write operations return a 403 Demo environment, data modification not allowed response.

Enable/disable in backend/Art.Api/appsettings.json:

json
{
  "Settings": {
    "DemoMode": true
  }
}

Or via environment variable: Settings__DemoMode=true

💡 Remove demo mode entirely: Delete DemoModeMiddleware.cs and remove app.UseMiddleware<DemoModeMiddleware>(); from Program.cs.

License

MIT License — Free for commercial use, no restrictions.