# WE ROAST WEB **Repository Path**: kinokoyoo/we-roast-web-pub ## Basic Information - **Project Name**: WE ROAST WEB - **Description**: 一个既能看漫画又能支持民间汉化的系统,致力于实现低成本部署与便利的汉化功能。 - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.kinokoyoo.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-09-12 - **Last Updated**: 2024-09-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

一个既能看漫画又能支持民间汉化的系统,致力于实现低成本部署与便利的汉化功能。
--- 首页 ---
--- 漫画浏览 ---
### 💡组织管理 --- 加入汉化组 ---
--- 管理汉化组成员 ---
### 💡漫画坑组管理 --- 管理漫画坑组 ---
--- 管理坑组成员 ---
--- 漫画章节管理 ---
--- 漫画页码管理 ---
### 💡汉化支持 ✨ --- 标点 ---
--- 快捷翻译 ---
--- 校对高亮提示 ---
--- 留言备注 ---
--- 支持Word导出 ---
### 💡AI 赋能(Beta) > 依赖第三方项目:[https://github.com/zyddnys/manga-image-translator](https://github.com/zyddnys/manga-image-translator) > --- AI 一键标记 & 翻译 ---
|
|
--- AI 抠除文字 ---
## 🖥️技术选型 **后端** | 技术 | 说明 | 官网 | | --- | --- | --- | | SpringBoot | web开发必备框架 | [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) | | MyBatisPlus | ORM框架 | [http://www.mybatis.org/mybatis-3/zh/index.html](http://www.mybatis.org/mybatis-3/zh/index.html) | | Caffeine | 高性能本地缓存 | [http://caffe.berkeleyvision.org/](http://caffe.berkeleyvision.org/) | | minio | 自建对象存储 | [https://github.com/minio/minio](https://github.com/minio/minio) | | poi-tl | Word模板引擎 | [https://deepoove.com/poi-tl/](https://deepoove.com/poi-tl/) | | manga-image-translator | 漫画OCR | [https://github.com/zyddnys/manga-image-translator](https://github.com/zyddnys/manga-image-translator) | **前端** | 技术 | 说明 | 官网 | | --- | --- | --- | | Vue2 | web开发必备框架 | [https://v2.cn.vuejs.org/v2/guide/](https://v2.cn.vuejs.org/v2/guide/) | | MyBatisPlus | 基于 Vue 2.0 的桌面端组件库 | [https://element.eleme.cn/#/zh-CN](https://element.eleme.cn/#/zh-CN) | | vue router | Vue 路由组件 | [https://router.vuejs.org/](https://router.vuejs.org/) | ## 💰关于降低成本的努力 **硬件条件**:项目在2核2g的硬件条件下即可部署运行。 **技术选型**:为了低成本部署,技术选型都是以单体架构的前提下考虑的,并且尽可能的减少了第三方组件的引入。缓存选择是的本地缓存,由于是单体部署,使用`Redis`这类第三方缓存组件反而显得臃肿,于是项目的第三方组件只有为做数据和文件存储引入了`MySQL`和`MINIO`。 **因为是以硬件条件有限作为大前提开发,所以基于一些个人理解在部分功能的实现上下了一番功夫:** + **虚拟线程**:使用JDK21的虚拟线程,以最大限度利用CPU资源,减少因平台线程数的限制而降低系统性能。 + **限流与锁**:通过原生Java实现注解驱动的常见限流算法与锁过期,以加强单体架构的抗并发能力。 + **本地缓存**:通过原生Java实现注解驱动的缓存使用,以减少项目整体的RT。 + **排队下载**:由于业务原因,会存在几百张图片打包导出的场景,也就是会**涉及大容量zip的导出**,为防止并发导致的OOM,设计了一套借鉴了`Reactor`模型思想的导出队列。  + **AI 赋能**:对于OCR的支持,项目是依赖了一个第三方项目[https://github.com/zyddnys/manga-image-translator](https://github.com/zyddnys/manga-image-translator)作为扩展服务接入的,由于环境搭建较为繁琐,并且对硬件配置也存在一定要求,所以并没有直接耦合到项目中;目前最佳实践可能是通过内网穿透在本地服务器作为一个服务进行部署,变向零成本哈哈。 ## 📃后续展望 1. 目前对嵌字,也就是PS部分的支持不足,可能考虑支持导出PS脚本,能够一键导入PS形成体系 2. ~~支持在线PS,直接翻校嵌一条龙~~,可惜本人前端能力有限,希望有能之士前来助力 3. 实现消息推送,进一步提高汉化流程协同效率 4. 接入GPT,以提供汉化时的各种建议或文献支持 5. _**持续更新ing...**_