◎葛強 李建華 趙悅冰 侯卓良 張錫英
引言:高校青年大學(xué)生志愿者是提供志愿服務(wù)的主要群體之一,近些年來,我國高校大學(xué)生志愿者更是在國家舉行的大型賽事方面,以及在環(huán)境保護、抗震救災(zāi)、扶貧開發(fā)和社區(qū)建設(shè)等方面發(fā)揮了不可或缺的重要作用,但是隨著社會日新月異的發(fā)展變化,大學(xué)生志愿者在實際開展的志愿服務(wù)活動的過程當中,各個方面存在的不足之處也開始日益顯現(xiàn)出來。為此,建立一個新型的志愿服務(wù)系統(tǒng),簡潔高效的管理在校大學(xué)生志愿服務(wù)活動,已經(jīng)成為各大高校以及社會亟待解決的重要問題。
本文通過 react+antd,mobile+webpack+mysql+express+anxios技術(shù)設(shè)計開發(fā)一個志服務(wù)平臺,利用本平臺志愿者可以實現(xiàn)注冊、登錄、選擇志愿活動、個人信息的管理、接受志愿活動推送;系統(tǒng)管理人員可以實現(xiàn)對志愿者的管理、對志愿者信息的查詢、存儲、自動評價等功能。
1.React技術(shù)簡介。React是最初由Facebook開發(fā)的用于構(gòu)建用戶界面的開源JavaScript庫。React的核心是組件,整個純React都由組件組成,且每一個組件擁有一個描述自己狀態(tài)的State、以及從父組件傳來的Props。而每個組件的渲染函數(shù)就是一個基于State和Props的純函數(shù),只要State或者Props發(fā)生了變化,那整個組件就將重新渲染。
2.項目語言優(yōu)勢。React速度很快,它并不直接對DOM進行操作,引入了一個叫做虛擬DOM的概念,安插在javascript邏輯和實際的DOM之間,性能好;其次,跨瀏覽器兼容,虛擬DOM幫助我們解決了跨瀏覽器問題,它為我們提供了標準化的API,甚至在IE8中都是沒問題的,而且代碼更加模塊化,重用代碼更容易,可維護性高。
1.系統(tǒng)設(shè)計目的。建立本公益項目旨在通過常用通訊工具手機微信連接在校大學(xué)生和社會公益活動。希望通過我們的志愿服務(wù)平臺鼓勵越來越多的大學(xué)生參與到志愿活動中來,不僅可以在活動中學(xué)會自覺地奉獻精神和參與社會活動的責任感,實現(xiàn)自我的價值,還可以在服務(wù)時接觸未知的事物,學(xué)習未知的東西,促進自身發(fā)展。提高志愿者服務(wù)熱情和大學(xué)生志愿服務(wù)水平。
2.系統(tǒng)設(shè)計架構(gòu)。聚益志愿服務(wù)系統(tǒng),是針對大學(xué)生進行志愿者服務(wù)活動需求而開發(fā)的軟件,其功能模塊主要由四部分組成:志愿者登錄注冊、志愿者活動選擇、志愿者活動發(fā)布、以及志愿時間管理與積分制度。分別實現(xiàn)了對志愿者個人信息的存儲管理,志愿活動雙方的的業(yè)務(wù)流程管理以及對于志愿者的激勵制度管理。
1.志愿者服務(wù)平臺。
(1)志愿者注冊與登錄:搜索“聚益志愿者”公眾號,關(guān)注后點擊志愿者,通過閱讀原文進入志愿者端口,填寫手機號、密碼進行注冊和登錄,后臺數(shù)據(jù)庫會進行驗證以及數(shù)據(jù)錄入。同時志愿者可以選擇喜歡的志愿類型,便于主頁進行個性化志愿活動推送。
(2)志愿活動信息獲取以及志愿活動的參與和完成:主頁會將符合用戶喜好的活動進行推送,此外在心愿之池中,可以直接查看當前的所有志愿活動。同時“加入組織”和“身邊公益”兩個板塊會有組織的聯(lián)系方式以及志愿活動信息。報名成功的活動及其進展情況會顯示在”我的接受“中。當活動結(jié)束后,在“我的接受”中點擊我已完成結(jié)束本次活動流程。
(3)志愿活動信息發(fā)布:搜索“聚益志愿者”公眾號,關(guān)注后點擊發(fā)布者,通過閱讀原文進入發(fā)布者端口,登陸注冊后選擇我要發(fā)布即可進入發(fā)布頁面,填入發(fā)布活動的相關(guān)信息,例如活動名稱、聯(lián)系方式、起止時間等。發(fā)布成功后進入志愿者端口即可驗證。
(4)志愿者時間管理以及評價:平臺會從志愿者選擇參與志愿服務(wù)活動開始計時,累計志愿服務(wù)時間,并發(fā)布到愛心榜上以此激勵志愿者參與志愿服務(wù),同時,平臺會根據(jù)志愿者參與活動是否有超時情況實行信用積分制度來約束志愿者按時完成志愿任務(wù)。
2.后臺管理頁面。為了方便管理者查看 信息,可 以訪問 http://114.116.123.70/#/pclogin網(wǎng)頁,輸入管理員的賬號密碼,登錄后即可進行信息查看,包括志愿者與發(fā)布者個人信息、志愿活動信息,均以表格形式呈現(xiàn),清晰明了。
主頁志愿活動推送算法:
為了提高用戶體驗,在志愿者首次登錄時,系統(tǒng)會彈出一份包含志愿服務(wù)類別的表單,用戶從中至少選擇一個感興趣的類別。系統(tǒng)將其作為用戶的屬性保存在數(shù)據(jù)庫中,并以此為依據(jù),從所有志愿活動中篩選出屬于用戶喜愛類別的活動集合A,再根據(jù)活動發(fā)布方提供的活動發(fā)布時間與截止時間,對集合A中的活動進行排序,優(yōu)先推送緊急志愿活動,從而實現(xiàn)對用戶的個性化推薦。
圖1推薦算法流程圖
1.愛心榜單算法:為了對志愿者參加志愿服務(wù)活動進行有效的管理,我們采用了時間比較算法,利用系統(tǒng)提供的getTime()函數(shù)分別獲取志愿者點擊參加活動和活動完成兩個對象的系統(tǒng)時間并進行相減得到志愿者的服務(wù)時長,時長精確到秒。
圖2愛心榜算法流程圖
得到每個志愿者的服務(wù)時間后,一方面采用冒泡排序法進行排序從而得到愛心榜名單,鼓勵志愿者進行良性競爭,同時有力支持志愿活動發(fā)布方進行支援獎勵。
2.信用積分制度算法:另一方面,我們設(shè)定每一位注冊志愿者的初始積分為100分,利用得到的志愿者的完成時間與活動發(fā)布方的截止時間相比較,如果超出截止時間,每次扣除信用積分5分,從而建立信用積分獎懲制度,有效肅清志愿服務(wù)活動中個別亂象,督促志愿者有始有終,更好完成志愿服務(wù)。
志愿者登錄成功進入主頁后,系統(tǒng)會將當前數(shù)據(jù)庫中的所有志愿活動,依據(jù)發(fā)布者給出的發(fā)布時間和截止時間,算出要求時間段,然后進行排序,從中選出最小的——也就是緊急志愿活動,將其放在主頁顯示中的第一位,以此類推,得到主頁活動的呈現(xiàn)順序,從而讓發(fā)布者盡快找到活動所需總?cè)藬?shù)。
同時為了讓志愿者快速找到適合自己的志愿活動,在第一次登陸本系統(tǒng)時可以選擇喜歡的志愿活動標簽,對應(yīng)類型會寫入數(shù)據(jù)庫,系統(tǒng)會現(xiàn)根據(jù)志愿者選擇的標簽類型,再依據(jù)本類型活動中的緊急志愿活動排序進行個性化推送。
基于微信公眾號的志愿服務(wù)平臺脫離了傳統(tǒng)APP對于平臺的限制,具有手機微信輕便簡潔的優(yōu)勢,更重要的是借助手機微信連接在校大學(xué)生和社會公益活動,高效管理服務(wù)活動,鼓勵越來越多的大學(xué)生參與到志愿服務(wù)中來;同時上線后的一些問題也將進一步解決和完善。