How xxdlovo/xxdl-nuxt-admin works
NuxtAdmin is a full-stack administrative system. Administrators use protected pages to manage business and system records; the Nuxt client sends typed tRPC requests, server routers apply authentication and permission controls, and domain services access MySQL through repositories. Separate product areas cover account and RBAC management, operational system modules, dashboard/landing and theme customization, file/object storage, and scheduled jobs. The README documents these capabilities; sampled sources confirm the client, RBAC profile assembly, and selected service behavior, but not every router-to-service call.
Main entry points: routers.ts Routers and middleware · CommonRepo.ts Repositories · AuthService.ts Authentication and RBAC · system Admin pages
Components 21
Admin interface
- Admin pages
app/pages/system - Login and registration
app/pages/login.vue - Dashboard
app/pages/system/home - Navigation and themes
app/layouts - tRPC client
app/plugins/01.client.ts
API and access
- Route protection
app/middleware/auth.global.ts - tRPC endpoint
server/api/trpc/[trpc].ts - Routers and middleware
server/trpc/routers.ts - Authentication and RBAC
server/sys-router/auth/AuthService.ts - Shared DTOs and RBAC
shared/system
Management domains
- User management
server/sys-router/user - Roles and permissions
server/sys-router/role - Menus and navigation
server/sys-router/menu - System administration
server/sys-router - Object and resource storage
server/sys-router/oss - Scheduled jobs
server/sys-router/job
Persistence and jobs
- Repositories
server/drizzle/CommonRepo.ts - MySQL schemas
server/drizzle/schema - Job dispatch and execution
server/tasks/sys-job
Other components
- Administrator
- MySQL
Connections 31
- Administrator → Login and registration: signs in
- Administrator → Admin pages: uses
- Administrator → Dashboard: views
- Admin pages → Route protection: protected by
- Login and registration → tRPC client: submits credentials
- Admin pages → tRPC client: requests data
- Dashboard → tRPC client: requests data
- Navigation and themes → Login and registration: renders routes
- Navigation and themes → Admin pages: renders routes
- tRPC client → tRPC endpoint: sends requests
- tRPC endpoint → Routers and middleware: dispatches
- Routers and middleware → Authentication and RBAC: routes auth calls
- Routers and middleware → User management: routes module calls
- Routers and middleware → Roles and permissions: routes module calls
- Routers and middleware → Menus and navigation: routes module calls
- Routers and middleware → System administration: routes module calls
- Routers and middleware → Object and resource storage: routes module calls
- Routers and middleware → Scheduled jobs: routes module calls
- Authentication and RBAC → User management: loads user roles
- Authentication and RBAC → Roles and permissions: loads roles
- Authentication and RBAC → Menus and navigation: loads permitted menus
- User management → Repositories: accesses data
- Roles and permissions → Repositories: accesses data
- Menus and navigation → Repositories: accesses data
- System administration → Repositories: accesses data
- Object and resource storage → Repositories: accesses metadata
- Scheduled jobs → Repositories: accesses job data
- Repositories → MySQL: queries
- MySQL schemas → MySQL: defines tables
- Scheduled jobs → Job dispatch and execution: dispatches scheduled work
- Shared DTOs and RBAC → Routers and middleware: defines typed contracts