目录
1. 项目背景
1. 项目名称
A16新苗同学-大学生智慧迎新平台
扩展:学生端设置npc,有能力接入大模型,广告数据搜集后大数据分析
评分要点:
1.管理端要能方便的设置任务,例如限制任务条件,组合任务,设置积分,获取积分的方式;
2.有一个能够盈利的商业模式
2. 项目目标
打造一款基于安卓平台的大学生智慧迎新平台,结合游戏化元素、NPC互动、广告推送等功能,为新生提供有趣且实用的迎新体验。
2.客户端
1.页面模块
游戏化任务页面,RPG风格,卡通风格.
引入AI模型,实现NPC成长性,解答同学们的问题。
学生任务排行榜页面(可设立多个排行榜,例如有,任务完成总进度排行榜,单项任务完成速度排行榜等)
实现昵称排行榜,保障隐私保护。
个人页面
2.功能模块
个人相关:注册,登录,修改个人信息,
注册与头像识别:学生注册上传头像,初始开发时使用模拟数据进行测试。
任务相关:任务引导,任务打卡,接收任务通知,点评任务,任务排行榜
广告相关:广告观看,查看广告具体信息,收集广告点击次数和广告观看时长
吉祥物引导打卡。
学生数据驻留机制,确保数据完整性。
3.后台管理端
1.个人信息模块(用户)
需求:预导入学生信息、注册(tip:需和预导入个人图像对比)、登录和修改个人信息,身份证 + 入学通知书 双认证,认证后可用微信登录
用户表(id,name,用户类型)
2.任务模块
需求:任务设定(
主要得分点
,这部分设计比较灵活),任务发布,任务重置,手动完成任务审核
管理员权限,用于管理者设置任务。
学生任务编排
学生数据导入功能。
3.广告模块
需求:个性化推送广告(针对学生来源地、所在学院、性别等信息推送不同类型的广告),关键词设置,收费(个数和等级)管理
商家广告模式为主,包括美食、服务等。
商家信息表,推广计划表(广告类型),推广限制表(用户偏好的广告)
1.需求分析
1. 功能需求
学生个性化广告推送:
基于学生参加的打卡任务、活动、学院、性别等信息,实现个性化广告推送。
学生可设置关键字,用于优化广告推送内容。
商家广告推送:
商家通过平台管理员申请推送广告,包括广告内容、推送范围等信息。
商家收费管理:
平台管理员对商家进行收费管理,根据广告推送的次数或点击次数进行计费。
推广计划管理:
平台管理员可以创建、编辑、删除推广计划,包括广告类型、推广时段等信息。
推广限制:
学生可设置广告偏好,平台根据限制条件(例如,来源地、学院)进行广告过滤。
2. 非功能需求
性能:
快速响应学生请求,保证广告推送的实时性。
安全性:
学生个人信息需要保密,商家信息及广告推送内容需要安全存储。
可维护性:
模块结构清晰,易于维护和扩展。
2.架构设计
数据流图
1.模块划分
广告推送模块:
处理学生个性化广告推送和商家广告推送的业务逻辑。
广告管理模块:
管理推广计划、商家信息和广告类型等。
收费管理模块:
处理商家广告的计费和支付。
用户偏好模块:
学生关键字设置和广告偏好。
2. 技术选型
后端框架: 使用Spring Boot等现代化后端框架,提供RESTful API。
数据库: 使用关系型数据库(如MySQL、PostgreSQL),存储学生信息、广告信息等。
推送服务: 使用消息队列或推送服务,确保广告推送的异步性和实时性。
3.数据库设计
1.ER图
- 学生信息表(students)
学生ID(student_id)
姓名(name)
学院(college)
性别(gender)
来源地(origin)
关键字设置(preferences) - 商家信息表(merchants)
商家ID(merchant_id)
商家名称(name)
商家联系方式(contact)
商家账户(account) - 广告信息表(advertisements)
广告ID(ad_id)
商家ID(merchant_id)
广告内容(content)
广告类型(type)
广告推送范围(targeting)
广告点击次数(clicks) - 推广计划表(promotion_plans)
计划ID(plan_id)
广告类型(ad_type)
推广开始时间(start_time)
推广结束时间(end_time) - 推广限制表(promotion_restrictions)
限制ID(restriction_id)
学院(college)
来源地(origin)
其他限制条件… - 商家广告收费表(advertising_charges)
记录ID(record_id)
商家ID(merchant_id)
广告ID(ad_id)
推送次数(impressions)
点击次数(clicks)
单价(price_per_impression)
总费用(total_cost)
付款状态(payment_status)
创建时间(create_time)
2.建库建表SQL语句
注意事项
隐私保护:
学生个人信息需要得到妥善保护,符合隐私法规。
性能优化:
利用数据库索引、缓存机制等手段,提高广告推送性能。
安全性:
对于商家信息和广告内容,考虑使用加密和安全传输协议,确保数据安全。
用户体验:
确保广告推送是基于用户偏好和学生活动,提高广告的相关性和用户体验。
以上是一个初步的需求分析、架构设计和数据库设计的指导。具体实现过程中,根据项目的具体需求和团队的技术栈可能需要进一步的调整。
4.数据监控模块(大数据分析)
需求:包括但不限于当日任务完成情况、热点任务情况、注册情况、广告播放、点击情况、当前认证用户数/尚未认证数和学院学生分类统计进行可视化,注册学生在地图上以热点图的形式展示分布情况,显示学生遇到的问题
大数据可视化展示各学院学生登录情况。
统计学生完成任务情况,以图表形式展示。
引入大数据分析功能,为决策提供依据。
4.人脸或动作识别端
要有固定的设备编号字段进行任务匹配,
识别方式:可以选择人脸识别(tips:与注册时录入的人像进行对比),
姿态识别或者
二维码识别(tips:使用二维码形式要说明如何保障此二维码的唯一性以及防作弊性)
如果选择人脸识别,在新生靠近时进行人脸识别,if 任务设置为人脸打卡,则完成任务,else if 任务设置为拍摄地标等进行打卡,则推送消息,提醒学生在打卡点,可完成任务(设置推送间隔)
5. 硬件角度
1. 摄像头设置
利用摄像头设置打卡点。
2. 打卡方式
动态生成二维码(防伪机制)。
人脸识别模式。
特定的打卡动作(例如左转脸、右转脸)。
6. 项目进展与沟通
1. 进展跟踪
定期与相关利益相关者(学校方、管理员、学生、商家)进行项目进展沟通。
2. 反馈与调整
根据反馈及时进行调整,确保项目符合各方期望。
以上需求分析文档为项目开发提供了具体的方向和目标,同时也为开发人员提供了清晰的任务和实现依据。
在整个开发过程中,及时沟通、反馈和调整是确保项目成功的关键。