Files
template-springboot-hucky/CLAUDE.md
set d03897c525 feat: Add complete user system implementation
- Create User, Role, Permission entities with their relationships
- Implement service interfaces and implementations for user system
- Add controllers for User, Role, Permission, UserRole, and RolePermission
- Include SQL schema files for the user system
- Document project structure in CLAUDE.md

This adds a complete RBAC (Role-Based Access Control) system with:
- User entity for managing user accounts
- Role entity for defining roles
- Permission entity for defining permissions
- UserRole entity for user-role relationships
- RolePermission entity for role-permission relationships

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:52:37 +08:00

67 lines
2.2 KiB
Markdown

# CLAUDE.md
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Build & Run Commands
```bash
# Build the project
./mvnw clean package
# Run the application
./mvnw spring-boot:run
# Run all tests
./mvnw test
# Run a single test class
./mvnw test -Dtest=TestClassName
# Run a single test method
./mvnw test -Dtest=TestClassName#methodName
```
## Project Overview
- **Framework**: Spring Boot 3.2.3 with Java 21
- **ORM**: MyBatis Plus 3.5.5
- **Database**: MySQL 8.0.33
- **Cache**: Redis (Spring Data Redis)
- **API Docs**: Swagger UI at `/swagger-ui.html`
- **Auth**: JWT (jjwt 0.11.5)
## Architecture
Base package: `icu.sunway.ai_spring_example`
This project follows a layered architecture with MyBatis Plus:
| Layer | Location | Pattern |
|-------|----------|---------|
| Controller | `Controller/{EntityName}Controller/` | One subdirectory per entity |
| Service | `Service/` | Interface `I{Name}Service` extends `IService<Entity>` |
| Service Impl | `Service/Implements/` | `{Name}ServiceImpl` extends `ServiceImpl<Mapper, Entity>` |
| Mapper | `Mapper/` | `{Name}Mapper` extends `BaseMapper<Entity>` |
| Entity | `Entity/` | Lombok + MyBatis Plus annotations |
| Config | `Config/` | CORS, Security, Redis, OpenAPI |
| Utils | `Utils/` | Utility classes |
## Key Utilities
- **ResponseUtils**: Standard API responses - `ResponseUtils.success(data)` / `ResponseUtils.fail(message)`
- **PageUtils**: Pagination - `PageUtils.createPage(page, limit)` returns `Page<T>` for MyBatis Plus
- **RedisUtils**: Redis operations (inject with `@Resource`)
- **JsonUtils**: JSON serialization - `JsonUtils.toJson()` / `JsonUtils.toObject()`
- **ValidationUtils**: Input validation (email, phone, URL, IP, password strength, etc.)
## Configuration
- Copy `application-example.yaml` to `application.yaml` and fill in database/Redis credentials
- `application.yaml` is gitignored (contains sensitive data)
- Uses dynamic multi-datasource (primary datasource named "master")
## Security Notes
- Current `SecurityConfig` is permissive (all requests allowed) - configure for production
- Stateless session management configured for JWT authentication