失物招领平台《需求说明书》
本文最后更新于:19 小时前
失物招领平台《需求说明书》
网上失物招领平台分为三大模块:
- 用户前台
- 管理员前台
- 服务端后台
一、用户前台
业务需求为:
- 浏览、发布失物/寻物信息。信息内容包括:
- 文字:物品信息、用户信息
- 图片:一组展示物品的图片
- 时间:物品丢失的大致时间、信息发布的时间
- 地点:物品丢失的地点、物品现存放的地点
- 搜索信息,提供以下搜索方式:
- 输入关键字
- 按时间,”当天“、”3天内“、”一周内“、指定起始-终止日期
- 按校区
- 按物品分类
- 以上3种(时间、地点、物品分类)的组合
- 管理个人的身份信息,管理的信息包括:昵称、学院、邮箱、联系电话
- 退出登陆与切换账号
- 修改密码
- 管理个人的信息记录,包括:
- 用户自己发布的失物、寻物信息,操作包括:
- 查看
- 标记“已找回”
- 修改编辑
- 删除
- 收藏标记的帖子,操作包括:
- 查看
- 取消收藏
- 用户自己发布的失物、寻物信息,操作包括:
二、管理员前台
业务需求区分为查看、管理两大块
1、查看
- 查看统计情况
- 查看帖子集合
- 查看具体帖子详情
1.1、查看统计情况
统计内容包括:
- 失物、寻物帖子总数
- 各种分类的物品的数量
- 成功找回数量、寻找中数量
- 用户总数
1.2、查看帖子集合
提供以下查看帖子集合的方式:
- 按时间范围
- 按地点
- 按分类
- 以上三种的自由组合
1.3、查看具体帖子详情
这点不用多说,和用户前台浏览效果一致
2、管理
2.1、管理用户
- 添加、删除用户
- 修改用户信息,修改范围包括:
- 学院、学号、姓名
- 管理用户发布的帖子
2.2、管理帖子
- 修改帖子状态,状态包括:
- 已寻回
- 寻找中
- 删除帖子
三、服务端后台
- Express框架提供后端数据交互处理
- MongoDB提供数据存储
1、数据模型
1.1、用户登陆信息
| 字段 | 类型 | 说明 |
|---|---|---|
| _id | ObjectId | |
| username | Number | 学号 |
| password | String | 登陆密码 |
| info | 指向「用户其它信息」的外键 |
1.2、用户其它信息
| 字段 | 类型 | 说明 |
|---|---|---|
| college | String | 学院 |
| username | Number | 学号 |
| name | String | 姓名 |
| grade | Number | 年级 |
| String | 邮箱 | |
| String | 微信号 | |
| phone | Number | 电话号 |
| nickname | String | 昵称 |
| portrait | String | 头像,(图片链接) |
| found_posts | Array | 指向寻物帖的外键列表,用户自己发布的 |
| lost_posts | Array | 指向失物帖的外键列表,用户自己发布的 |
| found_collections | Array | 指向寻物帖的外键列表,用户收藏的 |
| lost_collections | Array | 指向失物帖的外键列表,用户收藏的 |
1.3、物品分类
| 字段 | 类型 | 值 |
|---|---|---|
| category | String | 1.校卡 2.钥匙 3.身份证 4.背包 5.雨伞 6.水杯 7.优盘 8.书本 9.电脑 10.其它 |
1.4、地点(校区)
| 字段 | 类型 | 值 |
|---|---|---|
| area | String | 1.石牌 2.大学城 3.南海 4.汕尾 |
1.5、失物帖子
| 字段 | 类型 | 说明 |
|---|---|---|
| _id | ObjectId | |
| title | String | 帖子标题 |
| category | String | 物品分类 |
| area | String | 失物所在校区 |
| lost_date | Date | 物品捡拾日期 |
| description | String | 文字描述 |
| photos | Array | 图片链接数组 |
| owner | 指向用户(用户其它信息)的外键,帖子发布者 | |
| status | String | 物品当下的状态:已找回or寻找中 |
| create_time | Time | 帖子创建时间 |
1.6、寻物帖子
| 字段 | 类型 | 说明 |
|---|---|---|
| _id | ObjectId | |
| title | String | 帖子标题 |
| category | String | 物品分类 |
| area | String | 失物所在校区 |
| lost_date | Date | 物品丢失日期 |
| description | String | 文字描述 |
| photos | Array | 图片链接数组 |
| owner | 指向用户(用户其它信息)的外键,帖子发布者 | |
| status | String | 物品当下的状态:已找回or寻找中 |
| create_time | Time | 帖子创建时间 |
2、功能需求
- 接收用户信息(新增、修改、删除)
- 接收帖子信息(新增、修改、删除)
- 提供用户信息
- 提供帖子信息
3、API 定义
以下所有URL添加一个/user前缀
3.1、接收用户信息
| 功能 | 请求方法+URL | 备注 |
|---|---|---|
| 新增用户 | POST:/user/add | 区分单个、批量添加 |
| 修改用户信息 | UPDATE:/user/update | |
| 删除用户 | DELETE:/user/delete | 区分单个、批量删除 |
3.2、提供用户信息
| 功能 | 请求方法+URL | |
|---|---|---|
| 用户登陆校验 | POST:/user/login | |
| 提供指定ID用户信息 | GET:/user/info/:id | |
| 特定query条件的用户集合 | GET:/user/query | |
| 提供所有用户信息 | GET:/user/all |
3.3、接收帖子信息
| 功能 | 请求方法+URL | |
|---|---|---|
| 新增帖子 | POST:/post/add | 在body部分去判断区分lost还是found数据 |
| 修改帖子信息 | UPDATE:/post/update/:id | (同上) |
| 删除帖子 | DELETE:/post/delete/:id | (同上) |
3.4、提供帖子信息
| 功能 | 请求方法+URL | |
|---|---|---|
| 所有失物帖 | GET:/lost/all | |
| 指定ID失物帖子 | GET:/lost/:id | |
| 满足特定query条件的失物帖 | GET:/lost/query | |
| 所有寻物贴 | GET:/found/all | |
| 指定ID寻物贴 | GET:/found/:id | |
| 满足特定query条件的失物帖 | GET:/found/query |
失物招领平台《需求说明书》
http://timegogo.top/2022/11/26/项目实践/LAF《需求说明书》/