An open API service indexing awesome lists of open source software.

https://github.com/ittianyu/boot-app

A template project which assists to quick start APP. 帮助你快速启动的模版项目
https://github.com/ittianyu/boot-app

boot-app react-template spring-cloud-template

Last synced: 10 months ago
JSON representation

A template project which assists to quick start APP. 帮助你快速启动的模版项目

Awesome Lists containing this project

README

          

## 简介 ##

帮助你快速启动的模版项目。只有基础用户管理系统。

## 后端功能 ##

#### 账号服务 ####
1. 注册
- 可配置加密算法
2. (可选)注册验证:
- 邮箱
- 手机
- 验证码
- 注册码
3. 单点登录
- (可选) 验证码
- 登录态
- mysql方式存储 token
- redis方式存储 token

#### 网关服务 ####
1. 登录态校验
- 放行名单配置
- 校验名单配置
2. (可选)跨域支持
- http请求头方式
- jsonp 方式

#### 后台服务 ####
1. 账号/网关服务配置
2. 账号管理
- 增删改查账号
- 禁用/启动账号
3. 路由配置
4. SEO配置

## 前端功能 ##

#### 路由 ####
1. 读取后台配置的路由

#### 网络 ####
1. 读取后台配置的网络格式并支持。 比如 jsonp。

#### 注册 ####
1. 邮箱方式注册
2. 手机方式注册
3. 验证码注册
4. 邀请码注册
5. 无验证注册

#### 登录 ####
1. 带验证码登录
2. 不带验证码登录

#### 404 ####
1. 简洁404页面

#### SEO支持 ####
1. 读取后台配置的SEO信息

#### 移动端适配 ####

## 使用和部署 ##

#### 应用名和包名替换 ####

#### docker 支持 ####

## 想法 ##

#### 不同的技术栈实现 ####

项目定位不同,技术栈选择也不一样。
所以前后端可能会有不同的技术栈实现。

比如后端,对于轻快的小项目,选择 node 做后端会更快。 而一些中大项目,选择 java 做后端更合适。 当然,也有人用 go, php, python, ruby 等。

#### 激进的技术栈 ####

对于新项目,完全可以用上最新的技术栈,虽然可能踩坑,但也会带来许多好处。

但相反,对于比较成熟的项目,改造风险太大,不建议激进。

所以这个项目会用上最新的技术栈。

#### 移动端脚手架? ####

目前在我看来移动端并没有太大需求要做脚手架项目,因为做移动端的项目周期一般都比较长,有没有脚手架差别不大。
如果后期有时间,可以考虑加上。

#### 码友助力 ####

个人能力有限,如果有大佬愿意为项目添砖加瓦,那就再好不过了![](https://ws1.sinaimg.cn/large/b64a58e3gy1fikr7bnfrmj200k00k0sh.jpg)

## 计划 ##

#### 一期 ####

- 时间: 2019-07-06 至 2019-10-06
- 目标: 用 Spring Cloud 实现后端,React 实现前端。

#### 二期 ####

- 时间: 待定
- 目标: 根据反馈或建议改进

#### 三期 ####

- 时间: 待定
- 目标: 用 Node 实现后端。

## 一期内容 ##

#### 技术栈 ####

- 后端:
- 框架: Spring Cloud
- Spring
- Spring MVC
- Spring Data JPA
- Eureka
- Zuul
- 语言: Kotlin
- 编译打包: Gradle
- IDE: IntelliJ IDEA
- 前端:
- 框架: React
- 三方库:
- redux
- react-router
- axios
- antd
- js-cookie
- react-helmet
- 语言: TypeScript
- 脚手架: create-react-app
- IDE: JetBrains WebStorm
- SEO: 爬虫预渲染, 如果是爬虫UA,转发到预渲染服务。

#### 技术栈考虑 ####

后端采用 Spring Cloud 是因为比较熟悉 Java 技术栈且容易做微服务。 依旧使用 Eureka 是考虑到使用方便,不需要额外下载配置部署注册服务,而且1.x依旧维护中。

前端采用 React 是因为在国外份额较大,没有采用同构,因为这对业务代码侵入性较强,尤其是需要对网络请求也做服务端渲染的时候。 且对新人上手难度较大。 所以干脆使用最激进的针对爬虫预渲染方式。
后面如果有服务端渲染需求,会考虑在加开一个服务端渲染的项目。

#### To Do List ####

- [x] 创建后端项目和基本配置
- [x] 数据库设计和创建
- [ ] 账号服务
- [ ] 注册
- [ ] 登录
- [ ] 认证
- [x] 网关服务
- [ ] 后台服务
- [x] 配置文件的读写
- [ ] 内部使用的配置服务
- [ ] 创建前端项目和基本配置
- [ ] 路由
- [ ] 网络
- [ ] SEO
- [ ] 注册
- [ ] 登录
- [ ] 404

## License ##

[Apache 2.0](./LICENSE)