全栈全平台开源项目 CodeRiver 数据库设计文档

栏目: 软件资讯 · 发布时间: 5年前

内容简介:CodeRiver 是一个免费的项目协作平台,愿景是打通 IT 产业上下游,无论你是产品经理、设计师、程序员或是测试,还是其他行业人员,只要有好的创意、想法,都可以来 CodeRiver 免费发布项目,召集志同道合的队友一起将梦想变为现实!CodeRiver 本身还是一个大型开源项目,致力于打造全栈全平台企业级精品开源项目。涵盖了 React、Vue、Angular、小程序、ReactNative、Android、Flutter、Java、Node 等几乎所有主流技术栈,主打代码质量。目前已经有近

CodeRiver 是一个免费的项目协作平台,愿景是打通 IT 产业上下游,无论你是产品经理、设计师、 程序员 或是测试,还是其他行业人员,只要有好的创意、想法,都可以来 CodeRiver 免费发布项目,召集志同道合的队友一起将梦想变为现实!

CodeRiver 本身还是一个大型开源项目,致力于打造全栈全平台企业级精品开源项目。涵盖了 React、Vue、Angular、小程序、ReactNative、Android、Flutter、 Java 、Node 等几乎所有主流技术栈,主打代码质量。

目前已经有近 100 名开发者参与,每个技术栈都有多位经验丰富的大佬坐镇,更有两位架构师指导项目架构。无论你想学什么语言处于什么技术水平,相信都能在这里学有所获。

通过 高质量源码 + 博客 + 视频 ,帮助每一位开发者快速成长。

项目地址: github.com/coderiver-o…

数据库关系图

产品的第一版功能相对简单,主要模块只有用户模块、项目模块,后期版本中将丰富更多功能,欢迎关注。

数据库关系图如下:

全栈全平台开源项目 CodeRiver 数据库设计文档

数据表详解

所有的 id 都采用了 Long (bigint) 类型,相比于字符串, Long 在查询比对方面有很大优势。

时间格式,除了只需时分的 time 类型,其他时间均存成时间戳,所以类型也是 Long (bigint)

详细的数据表文档如下:

user_info

用户表,存储用户的基本信息。但登录相关的信息单独抽出来了一张新表: user_login ,便于后期扩展。

字段 类型 not null 默认值 备注
user_id bigint(64) not null 用户主键id
username varchar(255) not null 用户名/昵称
password varchar(255) not null 加密后的密码
gender int(11) 0 性别,0未知,1男,2女
avatar varchar(255) 头像
city bigint(64) 城市编码
role_id bigint(64) 角色id
experience_id bigint(64) 工作经验id
workday_start_time time 工作日空闲开始时间
workday_end_time time 工作日空闲结束时间
weekend_start_time time 周末空闲开始时间
weekend_end_time time 周末空闲结束时间
influence int(11) 影响力,由多个数据动态计算而来
introduce varchar(512) 个人简介
status int(11) not null 1 账户状态。1正常,2冻结,3注销
create_time bigint(64) 创建时间
update_time bigint(64) 更新时间

user_login

用户登录表,存储登录的各种账号。每种账户都有一个 active 字段,为了标记这种登录方式是否可用。

例如用户通过邮箱注册了一个账号,并跟微信绑定了,此时用微信或者邮箱均可登录,微信和邮箱的 active 状态值都是1。某天用户把微信解绑了,只能通过邮箱登录,此时微信的 active 状态值是 2 表示不可用,邮箱的 active 状态值是 1 表示可用。

字段 类型 not null 默认值 备注
id bigint(64) not null 主键id
user_id bigint(64) not null 用户id
email varchar(64) 邮箱
email_active int(11) 0 状态,0不可用,1可用
phone varchar(64) 手机号
phone_active int(11) 0 状态,0不可用,1可用
wechat_id varchar(255) 微信id
wechat_active int(11) 0 状态,0不可用,1可用
sina_id varchar(255) 新浪id
sina_active int(11) 0 状态,0不可用,1可用
github_id varchar(255) github id
github_active int(11) 0 状态,0不可用,1可用
create_time bigint(64) 创建时间
update_time bigint(64) 更新时间

user_role

用户角色表。存储用户角色分类:

产品经理、设计师、前端工程师、移动端工程师、小程序、游戏工程师、后端工程师、测试、DBA工程师、运维工程师、其他。

字段 类型 not null 默认值 备注
id bigint(64) not null 角色id
name varchar(64) 角色名

user_experience

用户工作经验表。存储工作经验分类:

在校生,0年,1-2年,3-5年,5-8年,8-10年,10年+

字段 类型 not null 默认值 备注
id bigint(64) not null 经验id
name varchar(64) 经验名

work_experience

工作经历表。存储个人简介中的工作经历,每人的工作经历可能有多个。

字段 类型 not null 默认值 备注
id bigint(64) not null 主键id
user_id bigint(64) not null 用户id
company_name varchar(64) 公司名
position varchar(32) 职位
comment varchar(512) 备注
start_date bigint(64) 开始日期(格式:2018-09)
end_date bigint(64) 结束日期(格式:2018-09)
status int(11) not null 1 状态。1正常,2删除
create_time bigint(64) 创建时间
update_time bigint(64) 更新时间

education_experience

教育经历表。存储个人简介中的教育经历,每人的教育经历可能有多个。

字段 类型 not null 默认值 备注
id bigint(64) not null 主键id
user_id bigint(64) not null 用户id
school_name varchar(64) 学校名
major varchar(32) 专业
degree varchar(32) 学位
comment varchar(512) 备注说明
start_date bigint(64) 开始日期(格式:2018-09)
end_date bigint(64) 结束日期(格式:2018-09)
status int(11) 1 状态。1正常,2删除
create_time bigint(64) 创建时间
update_time bigint(64) 更新时间

user_like

用户点赞表。

字段 类型 not null 默认值 备注
id bigint(64) not null 主键id
liked_user_id bigint(64) not null 被点赞的⽤用户id
liked_post_id bigint(64) not null 点赞的⽤用户id
status int(11) not null 1 点赞状态,1 点赞,2取消
create_time bigint(64) 创建时间
update_time bigint(64) 修改时间

project_info

项目信息表。存储项目的基本信息。

字段 类型 not null 默认值 备注
project_id bigint(64) not null 项目id
project_name varchar(255) 项目名字
project_avatar varchar(255) 项目封⾯面
project_difficulty float 项目难度
category_id bigint(64) not null 项⽬类型id
project_status int(11) 0 项目状态, 0招募中,1 进行中,2已完成,3失败,4延期,5删除
project_introduce varchar(512) 项目简介
project_creator_id bigint(64) not null 项⽬创建者id
team_id bigint(64) 项目所属团队id
project_start_date bigint(64) 项目开始时间,格式:2018-10-01
project_end_date bigint(64) 项⽬结束时间,格式:2018-10-01
project_delay_date bigint(64) 项⽬延迟的⽇期,格式:2018-10-01
delay_count int(11) 项⽬目延期次数。最多三次每次最多一个⽉
create_time bigint(64) 创建时间
update_time bigint(64) 更新时间

project_category

项目类型表。如电商、社交、教育等。

字段 类型 not null 默认值 备注
id bigint(64) not null 项⽬目类型id
name varchar(255) 类⽬目类型名称

project_picture

项目图片表。存放项目截图。项目与图片是一对多的关系。

字段 类型 not null 默认值 备注
id bigint(64) not null 主键id
project_id bigint(64) not null 项⽬id
picture_url varchar(255) not null 图⽚地址

project_like_user

项目点赞表。存储项目点赞的具体信息。

字段 类型 not null 默认值 备注
id bigint(64) not null 主键id
project_id bigint(64) not null 项目id
user_id bigint(64) not null 点赞的用户id
status int(11) not null 0 点赞状态,0 取消点赞,1点赞
create_time bigint(64) 创建时间
update_time bigint(64) 更新时间

team_application

组队申请表。有四种业务逻辑:申请加入项目,申请加入团队,邀请加入项目,邀请加入团队。

字段 类型 not null 默认值 备注
id bigint(64) not null 主键id
project_id bigint(64) 项目id
team_id bigint(64) 团队id
target_user_id bigint(64) not null 目标用户id。如果是用户主动申请,就是申请者id;如果是被邀请,就是被邀请者id。
creator_user_id bigint(64) not null 申请创建者id。如果是用户主动申请,target_user_id 和 creator_user_id 都是该申请者id;如果是被邀请,creator_user_id 是邀请者id。
role_id_apply bigint(64) not null 申请在本项目中的角色id
workday_start_time time 工作日空闲开始时间
workday_end_time time 工作日空闲结束时间
weekend_start_time time 周末空闲开始时间
weekend_end_time time 周末空闲结束时间
comments varchar(512) 备注消息
status int(11) 1 状态。1待审核,2通过,3驳回,4撤回,5删除
create_time bigint(64) 创建时间
update_time bigint(64) 更新时间

user_project_relation

用户与项目的对应关系表。关系是多对多。

字段 类型 not null 默认值 备注
id bigint(64) not null 主键id
project_id bigint(64) not null 项目id
role_id_project bigint(64) not null 用户在本项目的角色id
user_id bigint(64) not null 用户id
status int(11) 0 状态。0未匹配,1已匹配
create_time bigint(64) 创建时间
update_time bigint(64) 更新时间

team_info

团队信息表

字段 类型 not null 默认值 备注
team_id bigint(64) not null 团队主键id
team_name varchar(255) 团队名称
team_avatar varchar(255) 团队logo
team_introduce varchar(512) 团队简介
team_creator_id bigint(64) not null 团队创建者id
description varchar(128) 团队描述
status int(11) 1 状态。1正常,2解散
create_time bigint(64) 创建时间
update_time bigint(64) 更新时间

user_team_relation

团队-用户关系表,多对多的关系。

字段 类型 not null 默认值 备注
id bigint(64) not null 主键id
user_id bigint(64) not null 用户id
team_id bigint(64) not null 团队id

comments

评论表。可以对资源(下一版加入资源中心)、对项目、对用户进行评论。

字段 类型 not null 默认值 备注
id bigint(64) not null 主键id
pid bigint(64) 父评论id
from_id bigint(64) not null 评论者id(只可能是用户id)
to_id bigint(64) not null 被评论者id(可能是资源、项目、用户id)
content varchar(512) not null 评论内容
type int(11) not null 评论的类型:1资源,2项目,3用户
status int(11) 1 评论状态:1正常,2删除
create_time bigint(64) 创建时间
update_time bigint(64) 更新时间

数据库 sql 文件放在了 GitHubdoc 仓库下,点击 这里 快速打开。

关注我们

在项目开发过程中我们会尽可能多的总结技术实现过程,并形成一系列文档,文档 + 源码 带给您最高效的学习体验。文档会在 CodeRiver 官方微信公众平台 CodeRiver河码 首发,也会在各博客平台发布,欢迎大家关注。

扫码或搜索微信号 code_river 关注微信公众平台:

全栈全平台开源项目 CodeRiver 数据库设计文档

参与项目

CodeRiver 是开源项目,任何想为开源事业贡献一份力量的小伙伴均可加入。

同时我们还建立了项目讨论群,如果您对项目感兴趣,可以进群一起讨论。

加入方式:

搜索并添加 wx 号: douglas1840 ,备注: coderiver

感谢大家一直以来的的支持,CodeRiver 团队将继续朝着打造全栈全平台精品开源项目的目标不懈努力!

您的鼓励是我们前行最大的动力,欢迎点赞,欢迎送小星星:sparkles: ~

全栈全平台开源项目 CodeRiver 数据库设计文档

以上所述就是小编给大家介绍的《全栈全平台开源项目 CodeRiver 数据库设计文档》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

结构化计算机组成

结构化计算机组成

Andrew S.Tanenbaum / 刘卫东 / 机械工业出版社 / 2001-10-1 / 46.00

AndrewcS.Tanenbaum获得过美国麻省理工学院的理学学士学位和加利福尼亚大学伯克利分校的哲学博士学位,目前是荷兰阿姆斯特丹Vrije大学计算机科学系的教授,并领导着一个计算机系统的研究小组.同时,他还是一所计算与图像处理学院的院长,这是由几所大学合作成立的研究生院.尽管社会工作很多,但他并没有中断学术研究. 多年来,他在编译技术.操作系统.网络及局域分布式系统方面进行了大量的一起来看看 《结构化计算机组成》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具