摘要:目前校园志愿者队伍不断壮大, 志愿活动丰富多彩, 但还需要人工去通知、报名、考勤、统计服务时长、过程记录等组织繁琐的过程。因而迫切需要借助信息化的手段来解决这样的问题, 便于组织更细致的开展志愿活动, 保证志愿者队伍的可持续发展。针对这样的需求, 以C#作为开发语言, Visual Studio 2012作为开发工具和SQL Server 2008作为数据库, 开发了基于ASP.NET MVC的校园志愿者平台, 并详细介绍了主要功能模块的实现方法。
关键词:校园志愿者系统平台; Asp.net; MVC;
1、引言
自1993年12月共青团中央推出“青年志愿者行动”以来, 学生一直成为这项活动的重要力量。学生志愿活动, 对推动和谐校园的建设和培养学生的整体素质具有极其重要的作用。近年来, 学校的志愿者队伍不断壮大, 志愿活动也在不断地丰富。但目前不管是志愿者活动的组织, 志愿者们参与活动的报名以及活动服务时长的统计, 还是志愿者历史参加活动的记录都还是采用人工的方式, 这对于现今信息时代来说无疑是浪费人力也不便于宣传弘扬志愿精神。鉴于此情况, 本文采用了Asp.net MVC技术开发了校园志愿者平台。
2、平台的角色与功能模块设计
2.1、平台的角色设计
平台一共划分三种角色, 即总负责人、教师和志愿者成员。总负责人的角色权限涉及总负责人个人中心模块;教师角色权限涉及教师个人中心模块;成员角色权限涉及成员个人中心模块。
2.2、平台的功能模块设计
平台一共具有四个功能模块, 即前台展示、总负责人个人中心、教师个人中心、成员个人中心。
前台展示模块包含了首页、新闻中心、活动中心、成员展示和登录;
总负责人个人中心模块包含了活动信息、个人信息、活动创建审核、报名审核、活动过程材料审核、新闻管理、组别管理、成员管理、活动缺席、活动报表;
表1:参加活动记录表
教师个人中心模块包含了活动信息、个人信息、新闻管理、成员管理、活动缺席、报名审核、活动过程材料上传;
成员个人中心模块包括了活动信息、个人信息。
3、相关开发技术
3.1、Asp.Net MVC框架
MVC (Model-View-Controller) 是许多Web应用程序开发者非常熟悉的一种开发设计框架, 该框架由模型、视图、控制器三个部分组成。[2]Model (模型) 是应用程序中用于处理应用程序数据逻辑的部分, 通常模型对象负责在数据库中存取数据。View (视图) 是应用程序中处理数据显示的部分, 通常视图是依据模型数据创建的。Controller (控制器) 是应用程序中处理用户交互的部分, 通常控制器负责从视图读取数据, 控制用户输入, 并向模型发送数据。
3.2、Bootstrap (Web前端CSS框架)
Bootstrap是一个CSS/HTML框架。它基于HTML、CSS、Java Script技术, 提供一套直观的web设计工具包, 可以用来开发跨浏览器并且美观大气的页面;还提供很多流行的、样式简洁的UI组件、栅格系统以及一些常用的Java Script插件, 使得Web开发更加快捷。
Bootstrap框架包含丰富的组件 (即插件) , 包括下拉菜单、按钮组、按钮式下拉菜单、导航条、分页、排版、缩略图、警告对话框、进度条等, 根据这些组件, 可快速搭建一个风格简约、功能完备的网站。Bootstrap框架自带一组j Query交互插件, 包括模式对话框、标签页、滚动条、弹出框等, 不但功能完善, 而且十分精致。
3.3、Entity Framework框架
Entity Framework是微软公司开发的对象关系映射工具 (Object Relational Mapper简称ORM) , 他实现业务模型和关系型数据之间的相互映射。可以在不使用底层代码的情况下实现数据访问 (data access) 。Entity Framework提供了一套易于理解的基于模型的系统, 它可以将开发人员从编写数据访问层和域模型相同的代码的工作中解脱出来。它可以非常容易的将概念模型的实体和关系生成数据访问层。应用程序可以非常容易的执行CRUD (create, read, update, delete) 操作, 以及实体间的一对一、一对多和多对多的关系。
4、平台数据库设计
根据平台功能模块的设计需求, 建立了8个数据表, 分别是用户表Users、排行表 (Tops) 、新闻表 (News) 、组别表 (Groups) 、活动表 (Activity) 、系统日志表 (System Log) 、参加活动记录表 (Join Acts) 、活动过程材料记录表 (Act Records) 。其中以参加活动记录表为例, 该表结构如表1所示。
5、平台主要模块功能
5.1、前台展示模块
首页页面包含最新活动十条, 最新新闻十条, 组别排名 (根据服务时长排名) , 服务时长排名总排名 (根据成员服务总时长排名) , 服务时长排名月排名 (根据上月成员服务时长排名) 。
新闻中心页面包含可根据新闻标题查询新闻, 热门新闻和新闻列表。热门新闻信息包括新闻标题和新闻发布时间。新闻列表信息包括新闻标题、发表人、发表时间、阅读量, 一页十条数据进行分页。
活动中心页面包含可根据活动标题、活动类型查询相关活动和活动列表。活动信息列表包括活动标题、发起者、发表时间、参与人数、活动简介、状态, 一页十条数据进行分页。
成员展示页面可按照成员服务时长排名前十二名的成员, 显示的信息有成员姓名、班级、所属职别、服务时长以及爱好技能。
5.2、总负责人个人中心模块
活动信息页面包含可根据活动名称、活动状态查询相关活动和活动列表。活动列表中呈现总负责人发布的活动, 活动列表包含活动名称、开始时间、参与人数、活动状态以及对应活动状态下的操作。
创建活动页面可通过输入活动标题、活动地点、活动简介来创建新活动。新活动可选择是否公开选项, 若不公开, 只能在指定人员名单中选择成员, 若公开, 不限报名, 可以规定参与人数。活动一经发布, 则不可再修改和删除。活动根据开始时间来显示对应的活动状态。
活动创建审核页面包含可根据活动名称、组别、审核状态、发布人查询相关活动和活动列表。活动列表中显现教师用户创建的活动, 活动列表包含活动名称、发布人、组别、活动开始时间、活动发布时间、审核状态等。
活动审核详细页面显示活动的详细内容, 包括活动名称、活动所属组别、发布人、开始时间、审核状态、地点、活动人数、公开状态和指定人员等。活动审核不通过要将理由反馈给创建人
报名审核页面包含可根据活动名称、报名者、组别来查询信息和报名人列表。报名人列表包含活动名称、报名者、报名时间、组别名称。审核可以单人通过, 也可多人一次通过。
活动过程材料审核页面包含可根据活动名称、发布人、组别、状态进行信息查询和活动材料列表。列表包含活动名称、发布人、组别、活动开始时间、活动结束时间和状态等。材料审核不通过要将理由反馈给上传材料者。
新闻管理页面可根据新闻标题进行查询, 可添加、修改和删除新闻。
组别管理页面可添加、修改和删除组别, 若该组别下有活动则无法进行删除。
成员管理页面可批量导入成员, 根据平台提供的模板进行填写上传。
活动缺席管理页面可记录活动参与者缺席的情况。
活动报表页面可根据活动开始时间、结束时间和组别来查询并生成报表, 报表可打印。
5.3、教师个人中心模块
活动信息包含可提供活动名称、活动审核状态、活动状态、材料上报状态查询相关活动和活动列表。列表数据包括活动名称、活动审核状态、活动状态、材料上报状态等。若活动审核状态为“已通过”而活动状态为“未开始进行中”, 则无法修改和删除。若活动状态为“已通过”, 活动状态为“已结束”, 材料上报状态为“通过”, 可直接将活动过程材料推送为新闻。
成员管理页面包含可根据姓名和班级进行成员查询和成员列表。列表数据包含用户名、姓名、班级、组别、职位等。
活动过程材料上传页面是教师在活动审核状态为“已通过”, 活动状态为“已结束”时, 才可上传过程材料。
5.4、成员个人中心模块
活动信息页面包含可根据活动名称、活动状态和报名状态查询相关活动和活动列表。活动列表数据显示自己参与的活动, 数据项包含活动名称、发布者、开始时间、活动状态、报名状态等。若缺席了某个活动, 可补写缺席缘由。
5.5、相关代码实现
5.5.1、个人中心控制器代码
5.5.2、分布式视图代码
6、结束语
校园志愿者平台设计与实现离不开高效的信息技术, 并随着信息技术的不断创新和完成将会得到更好的发展, 从而为学校带来更简便、高效的志愿者的活动宣传和队伍管理, 使得信息技术与教育的融合更加具有意义和价值, 进一步促进信息技术的应用, 推动智慧校园的发展。
参考文献
[1]陈兵.浅论大学生志愿者活动与和谐校园的构建[J].长春教育学院学报, 2012, 02 (26) :40-41.
[2]叶红卫.基于ASP.NET MVC框架的Web设计[J].河北北方学院学报, 2009, 12 (25) :61-65.
[3]舒后, 熊一帆, 葛雪娇.基于Bootstrap框架的响应式网页设计与实现[J].北京印刷学院学报, 2016, 04 (24) :47-52.
[4]李洁.ORM工具——Entity Framework框架的技术研究[J].电脑知识与技术, 2016, 10 (12) , 13-14.