失物招领平台《需求说明书》
本文最后更新于:8 个月前
失物招领平台《需求说明书》
网上失物招领平台分为三大模块:
- 用户前台
- 管理员前台
- 服务端后台
一、用户前台
业务需求为:
- 浏览、发布失物/寻物信息。信息内容包括:
- 文字:物品信息、用户信息
- 图片:一组展示物品的图片
- 时间:物品丢失的大致时间、信息发布的时间
- 地点:物品丢失的地点、物品现存放的地点
- 搜索信息,提供以下搜索方式:
- 输入关键字
- 按时间,”当天“、”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《需求说明书》/