Watch 1 Star 0 Fork 0

alisx / train-springboot-1JavaApache-2.0

Sign up for free
Explore and code with more than 2 million developers,Free private repositories !:)
Sign up
学习用springboot创建web项目,这是其中的一个练习 其中包括需求设计以及代码 spread retract

Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.md

SpringBoot 练习项目 ———— MyBooks

介绍

学习用springboot创建web项目,这是其中的一个练习 其中包括需求设计以及代码

软件架构

  • Spring Boot
  • JPA
  • Shiro
  • Spring MVC
  • Thymeleaf
  • MySql

JDK & IDE

  • JDK 1.8
  • IntelliJ IDEA 2018

需求说明

概要
  1. 为了学习SpringBoot,需要练习一个项目
  2. 侧重练习后台功能,前台只作为辅助
  3. 不太能太过复杂,最好是模仿一个简单系统,或者设计一个很傻的小系统,不能在系统设计上投入太多时间
  4. 系统功能实现完成后,如有余力,可以换成RESTful,借用更美观的前端框架
需求描述

实现要给用户书单系统,用户可以查看编辑自己创建的书单,也可以浏览他人共享的书单

  1. 项目需要有登录系统、权限系统、业务系统
  2. 登录系统和权限系统用Apache Shiro来做,需要提供登录功能,登出功能,记住密码功能,注册功能,忘记密码功能,和修改密码功能;同时在业务页面中能看到当前登录者的信息
  3. 权限系统中,需要有系统管理员,和普通用户,系统管理员可以编辑普通用户,具体是修改状态(启用、停用),重置密码,创建用户
  4. 业务系统比较简单,是一个书单管理,具体要求如下
    1. 普通用户可以查看自己的书单
    2. 普通用户可以创建、编辑和删除自己书单记录
    3. 普通用户可以设置书单记录的共享状态
    4. 普通用户可以浏览别人共享的数量,但不能编辑

概要设计

实体设计
  1. 用户(user)
    字段

    • uid 主键
    • username 登录用户名
    • password 登录密码(MD5加密)
    • nickName 用户昵称 非必填
    • state 用户状态:禁用 启用
    • passwordSalt 密码盐
    • email 电子邮箱
  2. 权限(permission)
    字段

    • id 主键
    • state 权限状态 禁用 启用
    • name 权限名称
    • parentId 直接父权限id
    • parentIds 所有父权限id们
    • code 权限编码
  3. 角色(role)
    字段

    • id 主键
    • state 角色状态 禁用 启用
    • name 角色名称
    • code 角色编码
  4. 书单(book)
    字段

    • id 主键
    • creatoruid 创建者
    • createtime 创建时间
    • name 书名
    • auther 作者
    • publicationDate 出版日期
    • publisher 出版社
    • isbn 国际图书编码
    • description 描述
    • isShare 是否共享
    • comment 评论
    • saleUrl 售卖地址
页面设计
  1. 登录页
    组件

    • 登录名 文本输入框
    • 密码 密码输入框
    • 记住密码 checkbox
    • 登录 按钮
    • 忘记密码 按钮

    功能

    • 登录
    • 记住密码
    • 忘记密码
  2. 注册页
    组件

    • 登录名 文本输入框
    • 昵称 文本输入框, 可空
    • 电子邮箱 文本输入框
    • 密码 密码输入框
    • 提交 按钮

    功能

    • 校验登录名是否已被用
    • 校验密码是否过于简单
    • 校验电子邮箱是否被用
    • 提交
  3. 忘记密码页
    此功能只做演示用,填写登录名和邮箱,如果正确的话会将密码重置为111111,后面如有需要再优化
    组件

    • 登录名 文本输入框
    • 邮箱 文本输入框
    • 找回密码 按钮

    功能

    • 找回密码
  4. 我的书单列表页
    仅能查看自己创建的书单记录
    组件

    • 新增 按钮
    • 书单列表 列表
      • ID
      • 书名
      • 作者
      • 出版社
      • 出版日期
      • ISBN
      • 购买 按钮
      • 编辑 按钮
      • 删除 按钮
      • 共享 按钮

    功能

    • 新增 跳转到新增页面
    • 编辑 跳转到编辑页面
    • 删除 弹出确认框,选择是,删除,刷新页面
    • 共享 按钮是共享时,功能为取消共享,将按钮名改为[私密],反之亦然
    • 购买 打开浏览器新tab,显示购买信息
  5. 共享书单
    查看所有状态为共享的书单记录
    组件

    • 书单列表 列表
      • ID
      • 书名
      • 作者
      • 出版社
      • 出版日期
      • ISBN
      • 分享人
      • 购买 按钮

    功能

    • 购买 打开浏览器新tab,显示购买信息
  6. 新建/编辑页
    组件

    • 书名 文本输入框
    • 作者 文本输入框
    • 出版社 文本输入框
    • 出版日期 日期输入框
    • ISBN 文本输入框
    • 购买URL 文本输入框
    • 描述 文本区域输入框
    • 评论 文本输入框
    • 保存 按钮
    • 重置 按钮

    功能

    • 保存
    • 重置 新增时重置为空,编辑时重置为编辑前的值
业务模块
  • user
  • book

使用

用IDEA打开project目录,调试

参考链接

Comments ( 0 )

You need to Sign in for post a comment

Help Search