feat(docs): 添加中文README文件,更新英文README中的图片路径,优化项目结构和环境配置说明

This commit is contained in:
keven
2025-09-23 00:28:54 +08:00
parent 8b0d90cdc3
commit 427d958a41
12 changed files with 152 additions and 119 deletions

BIN
.github/image/0.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 716 KiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
.github/image/3.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
.github/image/4.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 750 KiB

BIN
.github/image/5.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 807 KiB

BIN
.github/image/6.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@@ -1,10 +1,16 @@
<div align="center"><a name="readme-top"></a>
# 015
015 (/ˈzɪərəʊ wʌn faɪv/, "zero-one-five") 是一个支持selfhosted的临时文件分享平台。专注于提供一次性临时的文件和文本上传处理分享服务。项目名称来源于DARLING in the FRANXX的 [](https://darling-in-the-franxx.fandom.com/wiki/Ichigo)
一个基于 Vue 3 + Nuxt 3 + Go 构建的现代文件分享网站,支持文件上传、文本分享、图片压缩、并发处理、秒传功能等,具备完整的分享管理和访问控制体系。
![015 Platform Overview](./image/0.png)
![015 Platform Overview](/.github/image/0.png)
[English](README.md) | 中文
</div>
## 🌟 功能特性
@@ -35,59 +41,69 @@
## 截图
![](./image/1.webp)
选择文件上传页面
![](/.github/image/1.png)
![](./image/2.webp)
输入文本上传页面
![](/.github/image/2.png)
![](./image/3.png)
选择文件上传页面 - 支持多选文件上传
![](/.github/image/3.png)
![](./image/4.png)
文件正在上传页面 - 类似Github的展示上传进度的文件热力图
![](/.github/image/4.png)
文件正在上传页面 - 类似 QbitTorrent 的展示文件上传进度的进度条
![](/.github/image/5.png)
文件上传成功页面
![](/.github/image/6.png)
## 🏗️ 技术架构
### 前端技术栈
- **Vue 3** - 渐进式 JavaScript 框架
- **Nuxt 3** - Vue.js 全栈框架
- **TypeScript** - 完整的类型安全
- **Tailwind CSS** - 原子化 CSS 框架
- **Reka UI** - 现代化组件库
- **Pinia** - 状态管理
- **TanStack Query** - 数据获取和缓存
- **Vue Router** - 路由管理
- **i18next** - 国际化支持
- **Vue 3** - 渐进式 JavaScript 框架
- **Nuxt 3** - Vue.js 全栈框架
- **TypeScript** - 完整的类型安全
- **Tailwind CSS** - 原子化 CSS 框架
- **Reka UI** - 现代化组件库
- **Pinia** - 状态管理
- **TanStack Query** - 数据获取和缓存
- **Vue Router** - 路由管理
- **i18next** - 国际化支持
### 后端技术栈
- **Go 1.23** - 高性能服务器端语言
- **Echo** - 高性能 HTTP 框架
- **Redis** - 缓存和会话存储
- **Asynq** - 异步任务队列
- **JWT** - 身份验证
- **Zap** - 结构化日志
- **Go 1.23** - 高性能服务器端语言
- **Echo** - 高性能 HTTP 框架
- **Redis** - 缓存和会话存储
- **Asynq** - 异步任务队列
- **JWT** - 身份验证
- **Zap** - 结构化日志
### 构建系统
- **Node.js** - 服务器端运行时
- **pnpm** - 快速包管理器
- **Husky** - Git hooks 管理
- **Prettier** - 代码格式化
- **Lint-staged** - 暂存文件检查
- **Node.js** - 服务器端运行时
- **pnpm** - 快速包管理器
- **Husky** - Git hooks 管理
- **Prettier** - 代码格式化
- **Lint-staged** - 暂存文件检查
### 存储架构
- **文件存储** - 本地文件系统存储
- **Redis 缓存** - 分享信息、文件元数据缓存
- **队列系统** - 异步任务处理队列
- **文件存储** - 本地文件系统存储
- **Redis 缓存** - 分享信息、文件元数据缓存
- **队列系统** - 异步任务处理队列
## 🚀 快速开始
### 环境要求
- Node.js 18+
- Go 1.23+
- Redis 6+
- pnpm 9+
- Node.js 18+
- Go 1.23+
- Redis 6+
- pnpm 9+
### 安装依赖
@@ -113,7 +129,7 @@ cp .env.example .env
# 配置必要的环境变量
REDIS_URL=redis://localhost:6379
UPLOAD_PATH=./uploads
UPLOAD_PATH=/.github/uploads
download_secret=your_download_secret
```
@@ -159,9 +175,9 @@ pnpm run dev:worker # Worker 服务
### 代码规范
- 使用 Prettier 进行代码格式化
- 使用 Husky + lint-staged 进行提交前检查
- 遵循 TypeScript 类型安全规范
- 使用 Prettier 进行代码格式化
- 使用 Husky + lint-staged 进行提交前检查
- 遵循 TypeScript 类型安全规范
### 提交规范
@@ -188,22 +204,22 @@ cd worker && go build -o worker .
### 已完成功能 ✅
- 前端计算哈希和秒传
- 并发切片上传 (使用 Web Worker)
- 文件上传/文本上传和分享
- 上传统计页面
- 多语言支持
- 最大上传限制
- 后端队列系统和 Worker 处理文件
- 前端计算哈希和秒传
- 并发切片上传 (使用 Web Worker)
- 文件上传/文本上传和分享
- 上传统计页面
- 多语言支持
- 最大上传限制
- 后端队列系统和 Worker 处理文件
### 计划功能 🚧
- 断点续传 (后端计算已上传部分并返回)
- 图片格式转换和压缩
- 图片 OCR 复制
- 文档转 Markdown
- 文本翻译/总结
- 支持上传多文件
- 断点续传 (后端计算已上传部分并返回)
- 图片格式转换和压缩
- 图片 OCR 复制
- 文档转 Markdown
- 文本翻译/总结
- 支持上传多文件
## 🤝 贡献指南
@@ -215,7 +231,7 @@ cd worker && go build -o worker .
## 🔗 相关链接
- [Vue 3 文档](https://vuejs.org/)
- [Nuxt 3 文档](https://nuxt.com/)
- [Echo 框架文档](https://echo.labstack.com/)
- [Asynq 文档](https://github.com/hibiken/asynq)
- [Vue 3 文档](https://vuejs.org/)
- [Nuxt 3 文档](https://nuxt.com/)
- [Echo 框架文档](https://echo.labstack.com/)
- [Asynq 文档](https://github.com/hibiken/asynq)

149
README.md
View File

@@ -1,10 +1,16 @@
<div align="center"><a name="readme-top"></a>
# 015
015 (/ˈzɪərəʊ wʌn faɪv/, "zero-one-five") is a self-hosted temporary file sharing platform. Focused on providing one-time, temporary file and text upload, processing, and sharing services. The project name originates from [Ichigo](https://darling-in-the-franxx.fandom.com/wiki/Ichigo) from DARLING in the FRANXX.
A modern file sharing website built with Vue 3 + Nuxt 3 + Go, supporting file upload, text sharing, image compression, concurrent processing, instant transfer functionality, and more, featuring a complete sharing management and access control system.
![015 Platform Overview](/docs/image/0.png)
![015 Platform Overview](/.github/image/0.png)
English | [中文](README-zh.md)
</div>
## 🌟 Features
@@ -35,59 +41,69 @@ A modern file sharing website built with Vue 3 + Nuxt 3 + Go, supporting file up
## 📸 Screenshots
![](/docs/image/1.webp)
File selection upload page
![](/.github/image/1.png)
![](/docs/image/2.webp)
Text input upload page
![](/.github/image/2.png)
![](/docs/image/3.png)
File selection upload page - supports multiple file uploads
![](/.github/image/3.png)
![](/docs/image/4.png)
File uploading page - similar to GitHub's file heatmap showing upload progress
![](/.github/image/4.png)
File uploading page - similar to qBittorrent's progress bar showing file upload progress
![](/.github/image/5.png)
File upload success page
![](/.github/image/6.png)
## 🏗️ Technical Architecture
### Frontend Tech Stack
- **Vue 3** - Progressive JavaScript framework
- **Nuxt 3** - Vue.js full-stack framework
- **TypeScript** - Complete type safety
- **Tailwind CSS** - Atomic CSS framework
- **Reka UI** - Modern component library
- **Pinia** - State management
- **TanStack Query** - Data fetching and caching
- **Vue Router** - Routing management
- **i18next** - Internationalization support
- **Vue 3** - Progressive JavaScript framework
- **Nuxt 3** - Vue.js full-stack framework
- **TypeScript** - Complete type safety
- **Tailwind CSS** - Atomic CSS framework
- **Reka UI** - Modern component library
- **Pinia** - State management
- **TanStack Query** - Data fetching and caching
- **Vue Router** - Routing management
- **i18next** - Internationalization support
### Backend Tech Stack
- **Go 1.23** - High-performance server-side language
- **Echo** - High-performance HTTP framework
- **Redis** - Caching and session storage
- **Asynq** - Asynchronous task queue
- **JWT** - Authentication
- **Zap** - Structured logging
- **Go 1.23** - High-performance server-side language
- **Echo** - High-performance HTTP framework
- **Redis** - Caching and session storage
- **Asynq** - Asynchronous task queue
- **JWT** - Authentication
- **Zap** - Structured logging
### Build System
- **Node.js** - Server-side runtime
- **pnpm** - Fast package manager
- **Husky** - Git hooks management
- **Prettier** - Code formatting
- **Lint-staged** - Staged file checking
- **Node.js** - Server-side runtime
- **pnpm** - Fast package manager
- **Husky** - Git hooks management
- **Prettier** - Code formatting
- **Lint-staged** - Staged file checking
### Storage Architecture
- **File Storage** - Local file system storage
- **Redis Cache** - Share information and file metadata caching
- **Queue System** - Asynchronous task processing queue
- **File Storage** - Local file system storage
- **Redis Cache** - Share information and file metadata caching
- **Queue System** - Asynchronous task processing queue
## 🚀 Quick Start
### Requirements
- Node.js 18+
- Go 1.23+
- Redis 6+
- pnpm 9+
- Node.js 18+
- Go 1.23+
- Redis 6+
- pnpm 9+
### Install Dependencies
@@ -113,7 +129,7 @@ cp .env.example .env
# Configure necessary environment variables
REDIS_URL=redis://localhost:6379
UPLOAD_PATH=./uploads
UPLOAD_PATH=/.github/uploads
download_secret=your_download_secret
```
@@ -139,28 +155,29 @@ pnpm run dev:worker # Worker service
│ │ ├── composables/ # Composable functions
│ │ ├── i18n/ # Internationalization files
│ │ └── assets/ # Static assets
── backend/ # Backend service (Go + Echo)
│ │ ├── internal/ # Internal packages
│ │ ├── controllers/ # Controllers
│ │ │ ├── models/ # Data models
│ │ │ ├── services/ # Business logic
│ │ │ └── utils/ # Utility functions
│ │ └── middleware/ # Middleware
── worker/ # Asynchronous task processing (Go + Asynq)
│ │ ├── internal/ # Internal packages
│ │ ├── tasks/ # Task processors
│ │ │ └── utils/ # Utility functions
│ │ └── middleware/ # Middleware
│ └── tmp/ # Temporary files
── middleware/ # Middleware
├── backend/ # Backend service (Go + Echo)
├── internal/ # Internal packages
│ │ ├── controllers/ # Controllers
│ │ ├── models/ # Data models
│ │ ├── services/ # Business logic
│ │ └── utils/ # Utility functions
── middleware/ # Middleware
├── worker/ # Asynchronous task processing (Go + Asynq)
├── internal/ # Internal packages
│ │ ├── tasks/ # Task processors
│ │ └── utils/ # Utility functions
│ └── middleware/ # Middleware
└── tmp/ # Temporary files
```
## 🔧 Development Guide
### Code Standards
- Use Prettier for code formatting
- Use Husky + lint-staged for pre-commit checking
- Follow TypeScript type safety standards
- Use Prettier for code formatting
- Use Husky + lint-staged for pre-commit checking
- Follow TypeScript type safety standards
### Commit Standards
@@ -187,22 +204,22 @@ cd worker && go build -o worker .
### Completed Features ✅
- Frontend hash calculation and instant transfer
- Concurrent chunked upload (using Web Worker)
- File upload/text upload and sharing
- Upload statistics page
- Multi-language support
- Maximum upload limits
- Backend queue system and Worker file processing
- Frontend hash calculation and instant transfer
- Concurrent chunked upload (using Web Worker)
- File upload/text upload and sharing
- Upload statistics page
- Multi-language support
- Maximum upload limits
- Backend queue system and Worker file processing
### Planned Features 🚧
- Resume upload (backend calculates uploaded parts and returns)
- Image format conversion and compression
- Image OCR copy
- Document to Markdown conversion
- Text translation/summarization
- Support for multiple file uploads
- Resume upload (backend calculates uploaded parts and returns)
- Image format conversion and compression
- Image OCR copy
- Document to Markdown conversion
- Text translation/summarization
- Support for multiple file uploads
## 🤝 Contributing
@@ -214,7 +231,7 @@ This project is licensed under AGPLV3.
## 🔗 Related Links
- [Vue 3 Documentation](https://vuejs.org/)
- [Nuxt 3 Documentation](https://nuxt.com/)
- [Echo Framework Documentation](https://echo.labstack.com/)
- [Asynq Documentation](https://github.com/hibiken/asynq)
- [Vue 3 Documentation](https://vuejs.org/)
- [Nuxt 3 Documentation](https://nuxt.com/)
- [Echo Framework Documentation](https://echo.labstack.com/)
- [Asynq Documentation](https://github.com/hibiken/asynq)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 654 KiB