校园失物招领APP如何设计与开发?
1、系统总体架构设计
该系统是基于 B/S 架构,分为三层,分别是前端、后端、数据库。前端包括 Html、CSS 等,后端是使用 python 语言和 Django 框架进行相关逻辑功能的实现。数据库是采用了 MySQL 数据库,使用 ORM 进行数据的更新和查找。经过前期需求分析,确定该 APP 主要有 9 个功能模块,分别为注册模块、登录模块、失物招领信息浏览、失物招领信息筛选、寻物信息发布、招领信息发布、失物信息的评论、用户注销和密码修改、信息的审核。
2、系统数据库的设计
该系统采用关系型数据库管理系统 MySQL,其体积小、速度快、总体拥有成本低,本系统中的表有用户表、寻物表、招领表、评论表、地点表、物品类型表。
用户表:用户和管理员共用的一个表,用来存储基本信息。其中主键为 id 唯一标识一条记录、password 存储的是经过加密处理后的密码用于判断该用户是否可以登录到后台。
寻物表:用来存储发布的寻物信息。title 字段用于显示主要的信息和模糊查询、pub_time 用于对寻物信息进行排序、 lost_time 用于精确查询的条件进行筛选、status 用于管理员的审核。
评论表:用来记录用户在某一寻物信息下的评论, author 记录的是用户名、content 记录的是用户发表的评论内容、comment_msg_id 记录的是在某一条寻物信息下发表的评论。
3、注册登录功能
注册页面的入口是在登录页面中,注册模块中的 form 表单样式是使用了框架中的样式。用户需要填写用户名、密码、确认密码、学号、名字信息,然后进行注册。
用户如果登录成功后在对应的 views 视图函数中调用 Django 框架自带的认证系统把用户登录的信息在后端生成相关的 session 数据。之后会返回到首页页面,由模板渲染显示。
4、失物招领模块
失物招领模块分为失物招领信息的浏览和失物招领信息的筛选。失物招领信息的浏览和筛选不需要用户进行登录,用户以浏览的方式可以查看网站上的失物信息,失物招领信息的筛选用来帮助用户进行多余信息的快速过滤,帮助用户找到自己需要的失物信息, 缩短了用户在查找信息过程中的时间,提高了查找效率。
5、寻物信息模块
寻物信息模块用于用户进行发布寻物信息,只有用户登陆了才能进行发布,否则会跳到登录界面要求登录。用户点击发布寻物信息,会跳转至一个表单页面,通过填写表单进行信息发布。用户发布成功后信息处于非审核状态,需要管理员进行审核才能被用户浏览到。另外,还设计了寻物信息的评论功能,评论可以帮助发布者了解到丢失物品的信息,提高了找失物的效率,有利于信息的快速散布,大大提高找到失物的几率。页面有评论输入框来支持用户的输入,然后进行发布。
6、审核信息模块的设计
用户发布了失物招领信息,发布成功后,并不能立即在浏览页面看到这条信息,需要管理员进行审核。管理员登录后台对未审核的信息进行查看,把它们的状态改为已审核,则用户才能查看到发布的信息。