{"id":20255444,"url":"https://github.com/ittianyu/boot-app","last_synced_at":"2025-04-11T00:06:06.271Z","repository":{"id":124788491,"uuid":"194419824","full_name":"ittianyu/boot-app","owner":"ittianyu","description":"A template project which assists to quick start APP.  帮助你快速启动的模版项目","archived":false,"fork":false,"pushed_at":"2020-01-11T07:30:07.000Z","size":127,"stargazers_count":11,"open_issues_count":1,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-11T00:05:58.683Z","etag":null,"topics":["boot-app","react-template","spring-cloud-template"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ittianyu.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":"2019-06-29T15:22:28.000Z","updated_at":"2020-11-23T06:59:25.000Z","dependencies_parsed_at":"2023-08-09T01:17:24.223Z","dependency_job_id":null,"html_url":"https://github.com/ittianyu/boot-app","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ittianyu%2Fboot-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ittianyu%2Fboot-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ittianyu%2Fboot-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ittianyu%2Fboot-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ittianyu","download_url":"https://codeload.github.com/ittianyu/boot-app/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248317707,"owners_count":21083528,"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":["boot-app","react-template","spring-cloud-template"],"created_at":"2024-11-14T10:38:43.477Z","updated_at":"2025-04-11T00:06:06.262Z","avatar_url":"https://github.com/ittianyu.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 简介 ##\n\n帮助你快速启动的模版项目。只有基础用户管理系统。\n\n## 后端功能 ##\n\n#### 账号服务 ####\n1. 注册\n\t- 可配置加密算法\n2. (可选)注册验证:\n\t- 邮箱\n\t- 手机\n\t- 验证码\n\t- 注册码\n3. 单点登录\n\t- (可选) 验证码\n\t- 登录态\n\t\t- mysql方式存储 token\n\t\t- redis方式存储 token \n\n#### 网关服务 ####\n1. 登录态校验\n\t- 放行名单配置\n\t- 校验名单配置 \n2. (可选)跨域支持\n\t- http请求头方式\n\t- jsonp 方式\n\n#### 后台服务 ####\n1. 账号/网关服务配置\n2. 账号管理\n\t- 增删改查账号\n\t- 禁用/启动账号 \n3. 路由配置\n4. SEO配置\n\n## 前端功能 ##\n\n#### 路由 ####\n1. 读取后台配置的路由\n\n#### 网络 ####\n1. 读取后台配置的网络格式并支持。 比如 jsonp。\n\n#### 注册 ####\n1. 邮箱方式注册\n2. 手机方式注册\n3. 验证码注册\n4. 邀请码注册\n5. 无验证注册\n\n#### 登录 ####\n1. 带验证码登录\n2. 不带验证码登录\n\n#### 404 ####\n1. 简洁404页面\n\n#### SEO支持 ####\n1. 读取后台配置的SEO信息\n\n#### 移动端适配 ####\n\n\n## 使用和部署 ##\n\n#### 应用名和包名替换 ####\n\n#### docker 支持 ####\n\n\n## 想法 ##\n\n#### 不同的技术栈实现 ####\n\n项目定位不同，技术栈选择也不一样。\n所以前后端可能会有不同的技术栈实现。\n\n比如后端，对于轻快的小项目，选择 node 做后端会更快。 而一些中大项目，选择 java 做后端更合适。 当然，也有人用 go, php, python， ruby 等。\n\n#### 激进的技术栈 ####\n\n对于新项目，完全可以用上最新的技术栈，虽然可能踩坑，但也会带来许多好处。\n\n但相反，对于比较成熟的项目，改造风险太大，不建议激进。\n\n所以这个项目会用上最新的技术栈。\n\n#### 移动端脚手架? ####\n\n目前在我看来移动端并没有太大需求要做脚手架项目，因为做移动端的项目周期一般都比较长，有没有脚手架差别不大。\n如果后期有时间，可以考虑加上。\n\n#### 码友助力 ####\n\n个人能力有限，如果有大佬愿意为项目添砖加瓦，那就再好不过了![](https://ws1.sinaimg.cn/large/b64a58e3gy1fikr7bnfrmj200k00k0sh.jpg)\n\n\n## 计划 ##\n\n#### 一期 ####\n\n- 时间: 2019-07-06 至 2019-10-06\n- 目标: 用 Spring Cloud 实现后端，React 实现前端。\n\n#### 二期 ####\n\n- 时间: 待定\n- 目标: 根据反馈或建议改进\n\n#### 三期 ####\n\n- 时间: 待定\n- 目标: 用 Node 实现后端。\n\n\n## 一期内容 ##\n\n#### 技术栈 ####\n\n- 后端: \n\t- 框架: Spring Cloud\n\t\t- Spring\n\t\t- Spring MVC\n\t\t- Spring Data JPA\n\t\t- Eureka\n\t\t- Zuul\n\t- 语言: Kotlin\n\t- 编译打包: Gradle\n\t- IDE: IntelliJ IDEA\n- 前端: \n\t- 框架: React\n\t- 三方库: \n\t\t- redux\n\t\t- react-router\n\t\t- axios\n\t\t- antd\n\t\t- js-cookie\n\t\t- react-helmet\n\t- 语言: TypeScript\n\t- 脚手架: create-react-app\n\t- IDE: JetBrains WebStorm\n\t- SEO: 爬虫预渲染, 如果是爬虫UA，转发到预渲染服务。\n\n#### 技术栈考虑 ####\n\n后端采用 Spring Cloud 是因为比较熟悉 Java 技术栈且容易做微服务。 依旧使用 Eureka 是考虑到使用方便，不需要额外下载配置部署注册服务，而且1.x依旧维护中。\n\n前端采用 React 是因为在国外份额较大，没有采用同构，因为这对业务代码侵入性较强，尤其是需要对网络请求也做服务端渲染的时候。 且对新人上手难度较大。 所以干脆使用最激进的针对爬虫预渲染方式。\n后面如果有服务端渲染需求，会考虑在加开一个服务端渲染的项目。\n\n#### To Do List ####\n\n- [x] 创建后端项目和基本配置\n- [x] 数据库设计和创建\n- [ ] 账号服务\n\t- [ ] 注册\n\t- [ ] 登录\n\t- [ ] 认证\n- [x] 网关服务\n- [ ] 后台服务\n\t- [x] 配置文件的读写\n\t- [ ] 内部使用的配置服务\n- [ ] 创建前端项目和基本配置\n- [ ] 路由\n- [ ] 网络\n- [ ] SEO\n- [ ] 注册\n- [ ] 登录\n- [ ] 404\n\n## License ##\n\n[Apache 2.0](./LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fittianyu%2Fboot-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fittianyu%2Fboot-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fittianyu%2Fboot-app/lists"}