失物招领平台《需求说明书》

本文最后更新于:8 个月前

失物招领平台《需求说明书》

网上失物招领平台分为三大模块:

  • 用户前台
  • 管理员前台
  • 服务端后台

一、用户前台

业务需求为:

  1. 浏览、发布失物/寻物信息。信息内容包括:
    • 文字:物品信息、用户信息
    • 图片:一组展示物品的图片
    • 时间:物品丢失的大致时间、信息发布的时间
    • 地点:物品丢失的地点、物品现存放的地点
  2. 搜索信息,提供以下搜索方式:
    • 输入关键字
    • 按时间,”当天“、”3天内“、”一周内“、指定起始-终止日期
    • 按校区
    • 按物品分类
    • 以上3种(时间、地点、物品分类)的组合
  3. 管理个人的身份信息,管理的信息包括:昵称、学院、邮箱、联系电话
  4. 退出登陆与切换账号
  5. 修改密码
  6. 管理个人的信息记录,包括:
    • 用户自己发布的失物、寻物信息,操作包括:
      • 查看
      • 标记“已找回”
      • 修改编辑
      • 删除
    • 收藏标记的帖子,操作包括:
      • 查看
      • 取消收藏

二、管理员前台

业务需求区分为查看、管理两大块

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 年级
mail String 邮箱
wechat 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《需求说明书》/
作者
丘智聪
发布于
2022年11月26日
更新于
2023年7月16日
许可协议