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

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

内容简介: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 数据库设计文档》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Head First HTML5 Programming

Head First HTML5 Programming

Eric Freeman、Elisabeth Robson / O'Reilly Media / 2011-10-18 / USD 49.99

What can HTML5 do for you? If you're a web developer looking to use this new version of HTML, you might be wondering how much has really changed. Head First HTML5 Programming introduces the key featur......一起来看看 《Head First HTML5 Programming》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换