小当家是一个搜索和分享菜谱的 Express Web 应用,旨在打造一个可以在线搜索菜谱和分享菜谱的网站。
docker-compose up
then open localhost:3000
.
- 先安装 MySQL,确保 MySQL 运行于
3306
默认端口,然后进入 MySQL 新建一个smallmenu
数据库并指定字符集:
mysql> CREATE DATABASE IF NOT EXISTS smallmenu DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> exit;
Bye
- 安装 Node,安装好后检查一下安装是否正确
node -v # 检查 node 版本
npm -v # 检查 npm 版本
若出现 node command not found
字样,确认已将 node 安装路径添加进环境变量。
- 确认 MySQL、Node 和 npm 都安装好后,进入项目根目录:
npm install # 安装依赖 node_models
- 安装好后,在根目录下运行:
npm start
如果没有错误信息的话说明运行成功。
- 打开浏览器输入:
localhost:3000
即可。
数据表含义如下:
- 用户(users)
id
(int):用户的唯一标识符,主码email
(varchar):用户的注册邮箱account
(varchar):用户的账号username
(varchar):用户名password
(varchar):用户加密过后的密码gender
(int):用户性别avata
(varchar)r:用户头像地址intro
(varchar):用户简介confirmed
(thinyint):用户是否验证createdAt
(datetime):用户创建时间updatedAt
(datetime):用户更新时间
- 菜谱(menus)
id
(int):菜谱的唯一标识符,主码title
(varchar):食谱名tags
(varchar):食谱标签imtro
(text):食谱简介ingredients
(varchar):食谱原料burden
(varchar):食谱佐料albums
(varchar):食谱封面图像steps
(text):食谱步骤createdAt
(datetime):创建时间updatedAt
(datetime):更新时间
- 菜谱的评论(comments)
content
(text):评论内容userId
:外键,关联users.id
menuId
:外键,关联menus.id
- 用户收藏的菜谱(userMenus)
userId
:外键,关联users.id
menuId
:外键,关联menus.id
- 文章(articles)
title
(varchar):文章标题content
(longtext):文章内容tags
(varchar):文章标签intro
(text):文章简介album
(varchar):文章封面图userId
:外键,关联users.id
,文章作者
- 文章的评论(articleComments)
content
(text):评论内容articleId
:外键,关联articles.id
userId
:外键,关联users.id
- 用户收藏的文章(userArticles)
articleId
:外键,关联articles.id
userId
:外键,关联users.id
- 用户的关注者(userFollowers)
userId
:外键,关联users.id
FollowerId
:外键,关联users.id
- 用户关注的人(userFollowing)
userId
:外键,关联users.id
Following
:外键,关联users.id
- 验证码(captchas)
timestamp
(varchar):验证码创建时间戳used
(thinyint):验证码是否已经使用value
(varchar):验证码值userId
:外键,关联users.id