用了兩週自由時間完成了這個小dome,還有很多不完善的功能需要後續更新,核心功能短信發送由於各個平臺不對個人項目支持也沒有完成,只是預留了接口,後期準備通過微信或者App方式實現。下面是項目展示和說明,代碼目前上傳至GitHub,鏈接: Remind 。
展示
1. 登錄
2. 註冊
3. 日曆
4. 提醒列表
說明
1. 開發
項目後端使用Java8+SpringBoot2.1.6+MybatisPlus3.1.2開發,前端使用Html+Ajax+Echars,數據庫使用H2。
2. 模塊劃分
項目目前分爲登錄(Login)、用戶(User)、日曆(Calendar)、提醒(Remind)、提醒列表操作(Handle)、推送(Send)主要模塊。
登錄:用戶登錄,提供擴展接口,可以自定義登錄方式。
用戶:用戶的註冊和密碼重置等。
日曆:後臺維護可以添加提醒事項的日期,展示這些日期和每天已經添加的提醒事項數量。
提醒:增加、刪除和展示提醒事項。
提醒列表操作:後臺維護一個列表,用來存放提醒事項,添加提示時同時入列表,滿足推送條件的提醒項出列,交給Send模塊發送給用戶。列表可以自定義實現,目前使用數據庫表實現。
推送:將提醒事項推送至用戶,提供擴展接口,目前沒有實現該功能,可以選擇短信、微信等方式通知。
3. 擴展
LoginService
public interface LoginService {
// 登錄
void login(User user, HttpServletRequest request);
// 檢查登錄狀態
boolean checkLoginStatus(Object... objects);
// 獲取session中用戶信息
User getSessionUser(HttpServletRequest request);
}
PushListHandle
public interface PushListHandle {
// 推送
boolean send(Remind remind);
// 添加
void add(Remind remind);
}
CustomConfig
實現LoginService和PushListHandle接口後可以在此配置類中替換掉原有的默認實現。
最後
歡迎各位感興趣朋友一起交流開發。