Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 15 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,25 @@ A web-based application for viewing and analyzing Apache TsFile format data. Bui
- **Tree & Table Models**: Support for both Tree Model (path-based) and Table Model (relational) TsFile formats
- **Export**: Export filtered data as CSV or JSON, export charts as PNG or SVG
- **Performance**: Chunk-level reading, metadata caching, automatic downsampling for large datasets
- **Deployment Flexibility**: Support for both embedded (single JAR) and separate (frontend + backend) deployment
- **Deployment Flexibility**: Embedded deployment as a single JAR with built-in frontend

## Technology Stack

### Backend

- Spring Boot 4.0.1 with JDK 21
- Apache TsFile 2.2.0
- Apache TsFile 2.3.0
- Caffeine cache for metadata and reader caching
- Maven 3.9+

### Frontend

- Vue 3.5.x with Composition API
- Vite 8.x build tool
- Nuxt UI components (Tailwind CSS-based)
- Pinia 2.x state management
- Vite build tool
- Ant Design Vue (antdv-next) components with UnoCSS
- Pinia 3.x state management
- ECharts 6.0.x for visualization
- TypeScript 5.4.x+
- TypeScript 5.9.x

## Quick Start

Expand Down Expand Up @@ -68,31 +68,16 @@ A web-based application for viewing and analyzing Apache TsFile format data. Bui

### Production Build

#### Embedded Deployment (Single JAR)

```bash
# Linux/Mac
./build-embedded.sh

# Windows
build-embedded.bat
# Build distribution package (embedded JAR + scripts)
./build-dist.sh

# Run
java -jar backend/target/tsfile-viewer-*.jar
```

Access at `http://localhost:8080/view/`

#### Separate Deployment

```bash
# Linux/Mac
./build-separate.sh

# Windows
build-separate.bat
```

See [docs/DEPLOYMENT.md](docs/DEPLOYMENT.md) for detailed deployment instructions.

## Configuration
Expand Down Expand Up @@ -136,24 +121,26 @@ VITE_API_BASE_URL=/api
tsfile-viewer/
├── backend/ # Spring Boot Maven project
│ ├── src/main/java/
│ │ └── com/timecho/tsfile/viewer/
│ │ └── org/apache/tsfile/viewer/
│ │ ├── controller/ # REST API endpoints
│ │ ├── service/ # Business logic
│ │ ├── tsfile/ # TsFile parsing utilities
│ │ ├── config/ # Spring configuration
│ │ └── dto/ # Data transfer objects
│ │ ├── dto/ # Data transfer objects
│ │ └── exception/ # Custom exceptions
│ └── pom.xml
├── frontend/ # Vue 3 + Vite SPA
│ ├── src/
│ │ ├── views/ # Page components
│ │ ├── components/ # Reusable components
│ │ ├── stores/ # Pinia state management
│ │ ├── api/ # API client
│ │ ├── router/ # Vue Router configuration
│ │ ├── i18n/ # Internationalization
│ │ ├── theme/ # Theme configuration
│ │ └── composables/ # Vue composables
│ └── package.json
├── tsfile-source/ # TsFile v2.2.0 source (reference)
├── build-embedded.sh # Embedded deployment build script
├── build-separate.sh # Separate deployment build script
├── build-dist.sh # Distribution build script
├── docs/ # Project documentation
│ ├── DEPLOYMENT.md # Deployment guide
│ ├── API.md # API documentation
Expand Down
42 changes: 14 additions & 28 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,25 @@
- **树模型和表模型**:支持基于路径的树模型和关系型表模型两种 TsFile 格式
- **导出功能**:将筛选后的数据导出为 CSV 或 JSON,将图表导出为 PNG 或 SVG
- **性能优化**:块级读取、元数据缓存、大数据集自动降采样
- **部署灵活性**:支持嵌入式(单个 JAR)和分离式(前端 + 后端)两种部署方式
- **部署灵活性**:嵌入式部署为单个 JAR,内置前端资源

## 技术栈

### 后端

- Spring Boot 4.0.1 with JDK 21
- Apache TsFile 2.2.0
- Apache TsFile 2.3.0
- Caffeine 缓存用于元数据和读取器缓存
- Maven 3.9+

### 前端

- Vue 3.5.x with Composition API
- Vite 8.x 构建工具
- Nuxt UI 组件(基于 Tailwind CSS)
- Pinia 2.x 状态管理
- Vite 构建工具
- Ant Design Vue (antdv-next) 组件库 + UnoCSS
- Pinia 3.x 状态管理
- ECharts 6.0.x 可视化
- TypeScript 5.4.x+
- TypeScript 5.9.x
- Vue I18n 国际化支持

## 快速开始
Expand Down Expand Up @@ -67,31 +67,16 @@

### 生产构建

#### 嵌入式部署(单个 JAR)

```bash
# Linux/Mac
./build-embedded.sh

# Windows
build-embedded.bat
# 构建发布包(嵌入式 JAR + 脚本)
./build-dist.sh

# 运行
java -jar backend/target/tsfile-viewer-*.jar
```

访问地址:`http://localhost:8080/view/`

#### 分离式部署

```bash
# Linux/Mac
./build-separate.sh

# Windows
build-separate.bat
```

详细部署说明请参阅 [docs/DEPLOYMENT.zh-CN.md](docs/DEPLOYMENT.zh-CN.md)

## 配置
Expand Down Expand Up @@ -135,25 +120,26 @@ VITE_API_BASE_URL=/api
tsfile-viewer/
├── backend/ # Spring Boot Maven 项目
│ ├── src/main/java/
│ │ └── com/timecho/tsfile/viewer/
│ │ └── org/apache/tsfile/viewer/
│ │ ├── controller/ # REST API 端点
│ │ ├── service/ # 业务逻辑
│ │ ├── tsfile/ # TsFile 解析工具
│ │ ├── config/ # Spring 配置
│ │ └── dto/ # 数据传输对象
│ │ ├── dto/ # 数据传输对象
│ │ └── exception/ # 自定义异常
│ └── pom.xml
├── frontend/ # Vue 3 + Vite SPA
│ ├── src/
│ │ ├── views/ # 页面组件
│ │ ├── components/ # 可复用组件
│ │ ├── stores/ # Pinia 状态管理
│ │ ├── api/ # API 客户端
│ │ ├── router/ # Vue Router 路由配置
│ │ ├── i18n/ # 国际化配置
│ │ ├── theme/ # 主题配置
│ │ └── composables/ # Vue 组合式函数
│ └── package.json
├── tsfile-source/ # TsFile v2.2.0 源码(参考)
├── build-embedded.sh # 嵌入式部署构建脚本
├── build-separate.sh # 分离式部署构建脚本
├── build-dist.sh # 发布构建脚本
├── docs/ # 项目文档
│ ├── DEPLOYMENT.zh-CN.md # 部署指南(中文)
│ ├── API.md # API 文档
Expand Down
2 changes: 1 addition & 1 deletion backend/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@

<properties>
<java.version>17</java.version>
<tsfile.version>2.2.0</tsfile.version>
<tsfile.version>2.3.0</tsfile.version>
<caffeine.version>3.2.0</caffeine.version>
<springdoc.version>2.8.0</springdoc.version>
<google-java-format.version>1.22.0</google-java-format.version>
Expand Down