掘金初始化 | 青训营笔记

104 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第3天

需求分析:

由于项目刚刚开始,功能先不要计划太多,优先把核心功能实现,其他基础功能逐步拓展即可

  1. 获取文章列表(分页)
  2. 获取文章详情 (根据文章id)
  3. 登录 / 注册
  4. 用户创建文章
  5. 用户发布文章 (与创建文章不一样,创建文章不发布的话,会存在草稿箱内)
  6. 用户查看本人已发布的文章列表
  7. 全局关键词搜索

至于文章与 标签表tags,分类表category,评论表comment,展示信息表show_info;还有用户的各项信息记录,更新,点赞收藏,关注及其他操作等以后有时间再进行拓展

技术选型

前端:

  • 三件套 (后期可能加ts)
  • vue3 / vite
  • 组件库 Ant Design Vue
  • VueX + Vue Router
  • Scss
  • axios

后端:

  • Spring Boot 2.7.0
  • Spring MVC
  • MySQL 驱动
  • MyBatis Plus
  • Spring Session Redis 分布式登录
  • Spring AOP
  • Lombok 注解
  • Swagger + Knife4j 接口文档
  • Spring Boot 调试工具和项目处理器

数据库字段设计

文章表:
create table page_content(
   article_id   bigint auto_increment comment 'id' primary key,
   cover_image   varchar(1024)    null comment '封面',
   title varchar(1024) null comment '标题',
   brief varchar(1024) null comment '简介',
   user_name varchar(50) not null comment '文章作者名字',
   avatar    varchar(1024)   null comment '头像',
   content  longtext not null comment '文章内容',
   ctime   int(11)  comment '创建时间',
   mtime   int(11) comment '最后一次修改时间'
);
用户表
id(主键)bigint
​
username 昵称  varchar
​
userAccount 登录账号 
​
avatarUrl 头像 varchar
​
gender 性别 tinyint
​
userPassword 密码  varchar
​
phone 电话 varchar
​
email 邮箱 varchar
​
userStatus 用户状态 int  0 - 正常 
​
createTime 创建时间(数据插入时间)datetime
​
updateTime 更新时间(数据更新时间)datetime
​
isDelete 是否删除 0 1(逻辑删除)tinyint
​
userRole 用户角色 0 - 普通用户 1 - 管理员
​
# 第一次执行
# create database bytedance;
​
use bytedance;
​
# 用户表
create table user
(
    id           bigint auto_increment comment 'id' primary key,
    username     varchar(256)       null comment '用户昵称',
    userAccount  varchar(256)       null comment '账号',
    avatarUrl    varchar(1024)      null comment '用户头像',
    gender       tinyint            null comment '性别',
    userPassword varchar(512)       not null comment '密码',
    phone        varchar(128)       null comment '电话',
    email        varchar(512)       null comment '邮箱',
    userStatus   int      default 0 not null comment '状态 0 - 正常',
    createTime   datetime default CURRENT_TIMESTAMP comment '创建时间',
    updateTime   datetime default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    isDelete     tinyint  default 0 not null comment '是否删除',
    userRole     int      default 0 not null comment '用户角色 0 - 普通用户 1 - 管理员'
) comment '用户';
​
​
​

部署: 服务器(加不加docker都可以)

前端目标:

搭建完成 vue3 模板,集成一下上面的这些依赖,完成不带注册登录的 公用header部分,公用布局BaseLayout

前端任务分析:

按照模块划分

  1. 主页(文章列表页)
  2. 主页(登录注册,跳转或浮层)
  3. 文章详情页
  4. 写文章页
  5. 草稿箱