{"id":14987641,"url":"https://github.com/black-currant/novel-fpg","last_synced_at":"2025-04-05T06:10:21.308Z","repository":{"id":38457883,"uuid":"448886085","full_name":"black-currant/novel-fpg","owner":"black-currant","description":"小说开源项目，前端基于Flutter，后端是Python + Go双端，各自基于Flask、Gin实现了一遍，包含了用户注册、登录、jwt鉴权、签到、任务、书架、阅读器、购买章节、搜索书籍、绑定第三方账号、设置等功能。","archived":false,"fork":false,"pushed_at":"2023-03-26T09:05:18.000Z","size":61127,"stargazers_count":423,"open_issues_count":6,"forks_count":176,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-03-29T05:09:27.046Z","etag":null,"topics":["cache","cos","dart","elasticsearch","flask","flutter","gin","go","gorm","gunicorn","i18n","jwt","mysql","pandas","python","redis","sqlalchemy","supervisor","yaml"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/black-currant.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-17T12:31:59.000Z","updated_at":"2025-03-28T03:05:25.000Z","dependencies_parsed_at":"2024-09-24T15:55:12.645Z","dependency_job_id":null,"html_url":"https://github.com/black-currant/novel-fpg","commit_stats":{"total_commits":16,"total_committers":3,"mean_commits":5.333333333333333,"dds":0.5,"last_synced_commit":"7a47af79556e74683aa84d42fff3d38460f382f9"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/black-currant%2Fnovel-fpg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/black-currant%2Fnovel-fpg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/black-currant%2Fnovel-fpg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/black-currant%2Fnovel-fpg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/black-currant","download_url":"https://codeload.github.com/black-currant/novel-fpg/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247294541,"owners_count":20915340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cache","cos","dart","elasticsearch","flask","flutter","gin","go","gorm","gunicorn","i18n","jwt","mysql","pandas","python","redis","sqlalchemy","supervisor","yaml"],"created_at":"2024-09-24T14:15:05.965Z","updated_at":"2025-04-05T06:10:21.284Z","avatar_url":"https://github.com/black-currant.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# novel-fpg\n\n## 1、项目介绍\n\n\u003e novel-fpg是一个小说开源项目，前端基于Flutter，后端是Python + Go双端（各自基于Flask、Gin实现了一遍），包含了用户注册、登录、jwt鉴权、签到、任务、书架、阅读器、购买章节、搜索书籍、绑定第三方账号、设置等功能。\n\u003cbr\u003e该项目旨在快速搭建中小型App项目，如果只追求开发效率，对并发性能没有要求建议使用Python进行后端开发，否则采用Go（该项目在实现同样功能的情况下，Go的代码量是Python的两倍）；后端API为了方便，只注册了一个接口路由，接口函数通过请求参数动态执行。\n\u003cbr\u003e为了提高获取小说内容的效率，小说章节目录及内容均已上传到COS存储桶，前端以加载并解密文件的方式获取，如果是线上项目可以配置CDN加速。\n\u003cbr\u003e项目管理后台（集成BI系统）是通过Vue和Python前后端分离的方式开发，本仓库暂未提交，后续陆续开放。\n\u003cbr\u003e该项目还用到了一些RPA工具，例如小说的自动采集、同步（可通过后台配置采集目标、采集模板、采集频率等），后续再整理上传源码。\n\nAndroid 安装包[下载地址](https://github.com/black-currant/novel-fpg/raw/main/novel-flutter/app-release.apk)\n\n## 2、效果图\n![截图1](https://rpa-1253410989.cos.ap-guangzhou.myqcloud.com/screenshot/1.jpg)\n![截图2](https://rpa-1253410989.cos.ap-guangzhou.myqcloud.com/screenshot/2.jpg)\n![截图3](https://rpa-1253410989.cos.ap-guangzhou.myqcloud.com/screenshot/3.jpg)\n![截图4](https://rpa-1253410989.cos.ap-guangzhou.myqcloud.com/screenshot/4.jpg)\n![截图5](https://rpa-1253410989.cos.ap-guangzhou.myqcloud.com/screenshot/5.jpg)\n![截图6](https://rpa-1253410989.cos.ap-guangzhou.myqcloud.com/screenshot/6.jpg)\n![截图7](https://rpa-1253410989.cos.ap-guangzhou.myqcloud.com/screenshot/7.jpg)\n\n## 3、主要功能\n\n- 用户注册：新注册用户发放1000书币\n- 登录：未注册用户登录会先自动注册\n- jwt鉴权：登陆、注册以外的接口请求头需要带上jwt生成的token，以进行合法性检验及解析用户ID\n- 签到：每日签到获取书币奖励\n- 任务：任务有每日任务，每周任务，日环任务等类型\n- 书架：收藏书籍\n- 阅读器：设置字体、行距、背景颜色、夜间模式等\n- 购买章节：默认章节都是免费，管理后台可进行收费章节设置\n- 搜索书籍：获取书籍列表接口均通过组合条件查询ElasticSearch，并将结果缓存到redis，保存两小时\n- 绑定第三方账号：绑定微信、Facebook、Google等第三方平台\n- 设置：设置阅读偏好等\n\n## 4、技术选型\n\n- 前端：基于Dart + Flutter实现，[传送入口](novel-flutter/README.md)\n- Python后端：基于Python + Flask实现，[传送入口](novel-python/README.md)\n- Go后端：基于Go + Gin实现，[传送入口](novel-go/README.md)\n\n## 5、联系方式\n\n| 微信 |\n|  :---:  | \n| ![微信](https://rpa-1253410989.cos.ap-guangzhou.myqcloud.com/screenshot/qr.jpg)\n\n## 6、捐赠\n\n如果你觉得这个项目对你有帮助，你可以请作者喝茶\n| 支付宝 |\n|  :---:  | \n| ![支付宝](https://rpa-1253410989.cos.ap-guangzhou.myqcloud.com/screenshot/alipay.jpg)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblack-currant%2Fnovel-fpg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblack-currant%2Fnovel-fpg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblack-currant%2Fnovel-fpg/lists"}