# reader-app **Repository Path**: huijia1/reader-app ## Basic Information - **Project Name**: reader-app - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-14 - **Last Updated**: 2025-04-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 小说阅读应用 ## 项目概述 一个基于React和Node.js的小说阅读应用,用于管理和阅读大量TXT格式小说。该应用将支持从NAS服务器扫描和导入小说文件,并提供良好的阅读体验。 ## 特性 - 自动扫描指定目录中的TXT文件 - 支持大型TXT文件的分片加载 - 自动识别和解析小说章节 - 提供舒适的阅读界面和设置 - 使用IndexedDB缓存小说内容,支持离线阅读 - 记录阅读进度 ## 技术栈 ### 前端 - **框架**:React 18 - **样式**:Tailwind CSS - **状态管理**:React Context + useReducer - **路由**:React Router - **本地存储**:IndexedDB (使用Dexie.js作为封装库) - **HTTP请求**:Axios ### 后端 - **框架**:Node.js + Express - **数据库**:SQLite (存储文件索引和元数据) - **部署**:Docker ## 快速开始 ### 前提条件 - Node.js 16+ - Docker 和 Docker Compose (用于生产部署) ### 开发环境 1. 克隆仓库 ```bash git clone cd reader-app ``` 2. 安装依赖 ```bash # 安装前端依赖 cd client npm install # 安装后端依赖 cd ../server npm install ``` 3. 启动开发服务器 ```bash # 启动后端服务 cd server npm run dev # 另一个终端启动前端服务 cd client npm start ``` 4. 打开浏览器访问 `http://localhost:3000` ### 生产部署 使用Docker Compose进行部署: ```bash # 在项目根目录执行 docker-compose up -d ``` 服务将在以下地址启动: - 前端: `http://localhost` - 后端API: `http://localhost:3001/api` ## 项目结构 查看 [开发计划文档](./docs/development-plan.md) 了解详细信息。 ## 配置 ### 环境变量 #### 后端 - `PORT`: API服务端口 (默认: 3001) - `NOVELS_PATH`: 小说文件目录 (默认: ./novels) - `SCAN_INTERVAL`: 扫描间隔,单位为秒 (默认: 3600) - `DB_PATH`: SQLite数据库文件路径 (默认: ./data/novels.db) #### 前端 - `REACT_APP_API_URL`: 后端API地址 (默认: http://localhost:3001/api) ## 许可证 此项目采用 MIT 许可证 - 详见 LICENSE 文件 reader-app/ ├── client/ # 前端项目 │ ├── src/ # 源代码 │ ├── Dockerfile # 前端Docker配置 │ ├── nginx.conf # Nginx配置 │ ├── package.json # 依赖配置 │ └── tailwind.config.js # Tailwind配置 ├── server/ # 后端项目 │ ├── src/ # 源代码 │ ├── Dockerfile # 后端Docker配置 │ └── package.json # 依赖配置 ├── docs/ # 项目文档 │ └── development-plan.md # 开发计划文档 ├── docker-compose.yml # Docker Compose配置 └── README.md # 项目说明