这是一套具备工业级设计思路的完整Web应用系统,核心解决“信息过载”与“推荐冷启动”问题。系统采用“离线预计算 + 在线轻量查询”的架构,在保证推荐精度的同时,将核心接口响应时间控制在200ms~450ms,兼顾了算法效果与工程可用性。
技术栈与架构:
后端: Django 6.0 + Django REST Framework(构建RESTful API),JWT实现无状态身份认证。
前端: Vue 3 + Element Plus + Vite(SPA单页应用),ECharts实现管理后台数据可视化看板。
数据层: MySQL 8.0(持久化存储)+ Redis(缓存高频推荐结果与热点数据)。
算法层: Python + Pandas + Scikit-learn(数据清洗、相似度计算、矩阵运算),算法模块与后端同语言,无需跨服务调用,降低系统复杂度。
核心算法与业务创新:
摒弃单一推荐算法的局限性,设计了三路加权融合的混合推荐引擎:
基于用户的协同过滤(User-CF) ——挖掘相似兴趣邻居,拓宽推荐视野。
基于物品的协同过滤(Item-CF) ——利用图书共现关系,增强推荐可解释性。
基于内容特征的推荐(Content-based) ——融合图书标签、出版年份、评分统计等元数据,缓解新书/新用户冷启动问题。
系统功能模块:
用户端: 注册登录、图书分类浏览/搜索、个性化推荐首页(“为你推荐”)、图书详情页(评分/收藏/想读/评论)、个人中心(行为汇总与偏好分析)。
管理端: 基于ECharts的数据看板(用户增长、图书分类占比、活跃时段分布)、用户/图书/评论的增删改查、多级分类动态关联。
行为采集: 显式评分与隐式反馈(浏览、收藏、想读)统一记录,为推荐模型持续提供数据燃料。
工程亮点与性能:
前后端完全分离,代码高内聚低耦合,易于维护与二次开发。
推荐结果离线预计算并缓存至Redis,在线请求直接查表返回,避免实时矩阵运算带来的性能瓶颈。
个人角色与贡献: 独立完成从需求分析、数据建模、算法设计、前后端开发到部署测试的全流程,具备全栈开发能力与推荐系统落地经验。