Java語言Springboot開發架構實作個性化圖書推薦網 線上圖書推薦系統 基于使用者、物品的協同過濾推薦算法實作WebBookRecSystem
一、項目簡介
1、開發工具和使用技術
IDEA/Eclipse,jdk1.8,mysql5.5/mysql8,navicat資料庫管理工具,springboot開發架構,spring+springmvc+mybatis架構,thymeleaf視圖渲染模闆,html頁面,javascript腳本,jquery腳本,bootstrap、layui前端架構,kindeditor富文本框元件、echarts圖表元件等。
2、實作功能
前台使用者包含:注冊、登入、登出、喜好标簽、浏覽圖書、搜尋圖書、資訊修改、密碼修改、圖書評分、圖書收藏、圖書評論、排行榜、熱點推薦、個性化推薦圖書等功能;
背景管理者包含:資料分析、使用者管理、圖書管理、圖書類型管理、使用者喜好标簽管理、評分管理、收藏管理、評論管理、浏覽記錄管理等。
個性化推薦功能:
排行榜:查詢浏覽數量最多的圖書,同時不包括目前登入使用者浏覽過的圖書;
個性化推薦:
遊客:熱點推薦(根據圖書總評分降序推薦)
登入使用者:基于使用者的協同過濾推薦算法(根據評分資料),
如果沒有推薦結果,采用熱點推薦(根據登入使用者喜好标簽下的圖書的總評分降序推薦,同時是登入使用者沒有評分的)。
相關推薦:
與目前圖書相同類型且收藏較多的圖書,同時是目前使用者沒有收藏的圖書。
圖書資料來源:爬取豆瓣圖書資料
3、開發步驟
一、需求分析
主要是分析需要實作的功能、确定開發工具及技術等。例如:前台使用者需要有登入、注冊、登出、搜尋圖書、圖書評分、個性化推薦等,背景管理者需要有登入、登出、資料統計、使用者管理、圖書管理、圖書類型管理等,個性化推薦使用基于使用者的協同過濾推薦算法等。Java開發語言,mysql資料庫,springboot開發架構等。
二、資料庫設計
資料庫設計使用navicat資料庫管理工具,可通過sql語句腳本生成資料庫表,也可以直接操作建立表設計表等。注意主外鍵關聯設計,例如:評分記錄表需要外鍵關聯使用者表和圖書表。
三、頁面設計
使用bootstrap前端架構,通過學習https://v3.bootcss.com/官方文檔和開發案例來設計頁面。
四、開發架構搭建
springboot是spring家族中的一個全新架構,用來簡化spring程式的建立和開發過程。在以往我們通過SpringMVC+Spring+Mybatis架構進行開發的時候,我們需要配置web.xml,spring配置,mybatis配置,然後整合在一起,而springboot抛棄了繁瑣的xml配置過程,采用大量預設的配置來簡化我們的spring開發過程。
SpringBoot化繁為簡,使開發變得更加的簡單迅速。
使用idea建立一個maven項目,然後在pom.xml中配置springboot架構開發依賴(spring、springmvc、mybatis等),接着就是建立controller、service、mapper、entity等,最後就是具體功能的實作。
五、功能開發
首先是進行前台使用者首頁的開發,其次是圖書詳情,然後是使用者注冊、登入等,接着是使用者的評分、修改資訊等,然後是進行管理者功能的開發,最後是進行前台使用者的個性化推薦功能實作。
六、系統測試
主要是進行bug修改,推薦算法測試。
二、項目展示
三、代碼展示及運作結果
專業長期研究java、python推薦算法(基于内容、協同過濾、關聯規則、機器學習等)、大資料等,歡迎留言、私信互相交流學習,後續會不斷更新,歡迎關注。