Technology Stack
Backend
Core Framework
- Java 17+ (JDK 17/21)
- Spring Boot 3.5.x
- Maven (multi-module project)
Database & ORM
- MySQL 5.7/8.0+ (primary), also supports PostgreSQL, Oracle, SQL Server, DM, KingBase, OpenGauss
- MyBatis Plus 3.5.x (ORM)
- Druid (connection pool & monitoring)
- Dynamic Datasource (multi-datasource/read-write splitting)
Cache & Messaging
- Redis + Redisson
- Message queues: Redis Stream, RabbitMQ, RocketMQ, Kafka
Security & Auth
- Spring Security + Token + Redis
- SSO single sign-on support
- Multi-tenant architecture
Workflow
- Flowable 7.x (BPM engine)
Scheduling
- Quartz (distributed job scheduling)
API Documentation
- Springdoc + Knife4j (Swagger UI)
Code Quality
- Lombok (boilerplate reduction)
- MapStruct (object mapping)
- JUnit 5 + Mockito (testing)
Frontend (Vue3 Admin)
Core
- Vue 3.5.x + TypeScript
- Vite 5.x (build tool)
- Element Plus 2.x (UI framework)
- Pinia (state management)
- Vue Router 4.x
Build & Quality
- pnpm (package manager)
- ESLint + Prettier + Stylelint
- UnoCSS (atomic CSS)
Common Commands
Backend
# Install dependencies and build all modules
mvn clean install -DskipTests
# Run backend server (development)
./start-backend.sh local
# Or manually with Maven
cd yudao-server
mvn spring-boot:run -Dspring-boot.run.profiles=local
# Run tests
mvn test
# Package for production
mvn clean package -DskipTests
Frontend (yudao-ui/yudao-ui-admin-vue3)
# Install dependencies
pnpm install
# Development server
pnpm dev
# Build for production
pnpm build:prod
# Lint code
pnpm lint:eslint
pnpm lint:format
Server Ports
- Backend API:
http://localhost:48080
- API Documentation:
http://localhost:48080/doc.html
- Druid Monitor:
http://localhost:48080/druid