一两个星期前正在了解Linux内核,看得有点累,突然想趁着五一放假写个博客学学spring。

由于没有在一开始下定决心写这个博客系统,所以我又没记录一开始的分析过程。这都是写了一个星期之后的思路了。

写这个随笔就仅当作再次理清思路吧。

项目地址:https://github.com/TangliziGit/Oyster

开发目的

目的很简单,就是为了下面这几点:

  • 了解和实践web开发全过程,主要是架构设计和前后端实现
  • 一边写一边学,主要学设计规范、代码结构、具体框架,还有git操作
  • 方便之后写博客(吐槽一下cnblog的markdown支持是真不行啊)
  • 方便装b,刷github提交量

需求

我们直接对具体页面迭代的需求分析:

第一次分析:

- 首页
+ 显示部分文章,支持分页
+ 显示文章信息:名字、创建时间、分类和标签
- 文章页
+ 显示标签、分类
+ 具体文章,分页显示评论
- 档案(Archives)
+ 按月份显示文章,支持分页,详细信息同首页

第二次分析:

前台:
- 标签页 & 分类页
+ 显示每个标签,及对应前六篇文章
- 搜索页 例:
[Dxx](https://fuzhouxxdong.github.io/hexo-theme-dxx/)
[Hipaper](https://itimetraveler.github.io/hexo-theme-hipaper/)
[Minos](https://blog.zhangruipeng.me/hexo-theme-minos/)

架构

多模块开发:

  • oyster-common

    访问数据库、提供公共的功能类
  • oyster-api

    提供RESTful API
  • oyster-front

    前台展示模块
  • oyster-runner

    用于启动所有模块,无实际作用

开发架构图

技术要求

总结一下使用的框架

  • Thymeleaf
  • Spring MVC
  • Spring Boot
  • Spring Data JPA (可能与MyBatis混用)

具体开发细节

  • 公共模块

    • [x] AbstractQuery查询

      通过注解封装一部分JPA动态查询功能,提供方便使用的多重查询
  • 前台页面模块
    • [x] 灵活的文章查找

      支持文章标题和内容的多重模糊查询
    • [ ] 更多主题

      可能尝试调用hexo解析hexo主题模板
  • 后台管理模块
    • [ ] markdown支持插入图片
    • [ ] 实时编辑markdown
  • RESTful API模块
    • [ ] 复用api

      转发前后台url到api
    • [ ] RESTful API规范

      遵守状态码,安全与幂等等规范
    • [ ] 对提交评论和文章点击量的限制

      包括提交内容判误、提交频率、一段时间同ip不增加点击量、跨域提交
  • docker支持

记Spring搭建功能完整的个人博客「Oyster」全过程[其一] 整体思路:需求、架构及技术要求的更多相关文章

  1. 记Spring搭建功能完整的个人博客「Oyster」全过程[其二] Idea中Maven+SpringBoot多模块项目开发的设计和各种坑(模块间依赖和打包问题)

    大家好嘞,今天闲着没事干开写写博客,记录一下Maven+SpringBoot的多模块设计和遇到的坑. 多模块设计 简单说明一下截止目前的需求: 需要RESTful API:对文章.标签.分类和评论等的 ...

  2. Java EE 学习(9):IDEA + maven + spring 搭建 web(5)- 博客文章管理

    转载:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生) . 注:在阅读本文前,请先阅读: Java EE 学习(5):IDEA + maven + spring 搭建 web(1) Jav ...

  3. LNMP环境搭建之php安装,wordpress博客搭建

    LNMP环境搭建之php安装,wordpress博客搭建 一.介绍: 1.什么是CGI CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服 ...

  4. 搭建自己的 github.io 博客

    1.前言 github.io 是基于 Github 的 repo 管理,这意味着咱们对其是有绝对的控制,这个跟放在第三方的平台比,可控性要好太多. 使用 github pages 服务搭建博客的好处有 ...

  5. 搭建minima主题的github博客网站

    layout: post title: "搭建minima主题的github博客网站" date: 2019-04-20 19:20:20 +0800 --- 作者:吴甜甜 个人博 ...

  6. HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客

    HHvm Apache 2.4 Nginx建站环境搭建方法安装运行WordPress博客 VPS主机   2014年06月02日 17:20   评论»       文章目录 Debian上安装 Ce ...

  7. 初学者入门:使用WordPress搭建一个专属自己的博客

    体验简介 阿里云云起实验室提供相关实验资源,点击前往  场景将提供一台基础环境为CentOS 的ECS(云服务器)实例,这台服务器上已经内置LAMP环境.我们将会在这台服务器上安装 WordPress ...

  8. Mac 上搭建基于 Hexo + GitHub 个人博客

    环境配置 本人电脑系统:macOS Node.js 生成静态页面.安装Node.js Git 用于将本地 Hexo 内容提交到 Github.Xcode自带Git(前提:macOS已经安装了Xcode ...

  9. python drf+xadmin+react+dva+react-native+sentry+nginx 搭建前后端分离的博客完整平台

    前言: 经过差不多半年的开发,搭建从前端到服务器,实现了前后端分离的一个集PC端.移动端的多端应用,实属不易,今天得空,好好写篇文章,记录这些天的成果.同时也做个分享. 演示网站地址: http:// ...

随机推荐

  1. 【ACM】nyoj_139_我排第几个_201308062046

    我排第几个时间限制:1000 ms  |  内存限制:65535 KB 难度:3描述 现在有"abcdefghijkl”12个字符,将其所有的排列中按字典序排列,给出任意一种排列,说出这个排 ...

  2. 楼控-西门子-insight使用-软件重新授权

    在insight的使用中,可能会碰到insight的软件授权失败,此时需要重新将原授权删除,再重新将软件授权. 先看一下软件授权失效会出现什么: 再看看如何删除原来的密钥,再注册新的密钥.

  3. Seaside HDU 3665 【Dijkstra】

    Problem Description XiaoY is living in a big city, there are N towns in it and some towns near the s ...

  4. UI_UINavigationController

    创建 UINavigationController(导航控制器) 在AppDelegate.m中创建 // 创建一个普通控制器 RootViewController *rootVC = [[RootV ...

  5. 三期_day06_登录和找回password

    登录思路:   前台发送一个请求,然后通过spring的自己主动注參注入username和password,将password加密后与数据库中查找的做比較.返回是否通过. 这里还使用了EasyUI的校 ...

  6. elasticsearch插件开发

    检索引擎Elasticsearch支持插件模式.有些时候你可能须要安装一些插件.甚至自己开发插件,这里就提供一个開始ES插件开发演示样例,ES版本号为1.5.2. 一.插件类继承自org.elasti ...

  7. androidstudio集成ijkplayer教程

      介绍 ijkplayer是一款非常火的开源视频播放器,android和IOS通用.关于怎么编译怎么导入android Studio中自己的项目,其中坑很多,本篇记录下自己的操作记录.ijkplay ...

  8. [HTML] 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能

    在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...

  9. VM虚拟机-Windows

    前提:安装了vm虚拟机 一.下载win10原版镜像文件 一定要是原版,修改版的不能用. 推荐下载网址:http://www.xitongtiandi.net/win10yuanban/ 下载后放在D盘 ...

  10. 2015 多校赛 第一场 1007 (hdu 5294)

    总算今天静下心来学算法.. Description Innocent Wu follows Dumb Zhang into a ancient tomb. Innocent Wu’s at the e ...