# AIOJ - Online Judge System

基于 Spring Boot 微服务架构的在线判题系统。

## 服务端口配置

| 服务名称 | 端口 | 说明 |
|---------|------|------|
| Gateway | 18085 | API 网关服务 |
| Auth Service | 18081 | 认证授权服务 |
| User Service | 18082 | 用户服务 |
| UPMS | 18083 | 用户权限管理服务 |
| File Service | 18066 | 文件服务 |

## 模块结构

### 核心模块 (aioj-backend-common)

- **aioj-backend-common-bom** - 依赖管理
- **aioj-backend-common-core** - 核心工具类
- **aioj-backend-common-feign** - Feign 客户端配置
- **aioj-backend-common-log** - 日志框架
- **aioj-backend-common-mybatis** - MyBatis 扩展
- **aioj-backend-common-starter** - 自动配置启动器

### 服务模块

- **aioj-backend-gateway** - API 网关
- **aioj-backend-auth** - 认证服务
- **aioj-backend-user-service** - 用户服务
- **aioj-backend-upms** - 权限管理服务
- **aioj-backend-file-service** - 文件服务
- **aioj-backend-judge-service** - 判题服务（开发中）
- **aioj-backend-question-service** - 题库服务（开发中）
- **aioj-backend-ai-service** - AI 服务（开发中）

## 快速开始

### 构建项目

```bash
mvn clean compile
```

### 运行服务

```bash
# 运行网关
mvn spring-boot:run -pl aioj-backend-gateway

# 运行认证服务
mvn spring-boot:run -pl aioj-backend-auth

# 运行用户服务
mvn spring-boot:run -pl aioj-backend-user-service
```

### 访问地址

- Gateway: http://localhost:18085
- Auth Service: http://localhost:18081/api
- User Service: http://localhost:18082/api
- UPMS: http://localhost:18083/api
- File Service: http://localhost:18066/api

## 常用命令

### 代码格式化

```bash
mvn spring-javaformat:apply
```

### 运行测试

```bash
mvn test
```
