CharlieOrbit:基于 Django 与微信小程序的追星记录站


欢迎在我的 GitHub 查看更多项目与代码实现。

一、写在前面的话

其实这是我比较古早的一个小作品了……纯纯为爱发电(属于是没钱买周边于是选择自创)。小程序的名字换过很多次,但是最后我给它取名叫做 CharlieOrbit(查理星轨),因为我偶像的英文名是 Charlie,小名是星星

现在回过头来看,主要有两点比较遗憾的地方:

  1. 前端没有好好设计,一股子 AI 味。
  2. 用了传统后端而不是微信云开发,前后端联调特别痛苦。

不过实在是太懒了,不想大改,等我哪天再次充满干劲再说吧

总的来说,CharlieOrbit 是一个专为粉丝群体打造的追星主题应用(追星记录站),包含微信小程序原生前端与 Django 后端。旨在为用户提供一个温暖、私密且功能丰富的追星记录空间。


二、产品功能:粉丝需要什么?

为了满足粉丝群体的需求,我设计了以下核心功能模块:

1. 基础功能与首页导航

  • 账号体系:支持邮箱验证码注册,保障私密性。
  • 个人主页:包含专属的追星资料卡,以及直观的首页导航模块,方便快速触达各项功能。

2. 星记(追星日记)

  • 富文本记录:支持编写、修改日记内容,可上传多媒体附件。
  • 情绪追踪:支持心情标签筛选。
  • 专属彩蛋:记录日记时可抽取幸运语录,提供情绪价值。

3. 星语(多角色 AI 对话)

  • 大模型接入:接入阿里云通义千问 API。
  • 角色扮演:支持抽取不同风格的角色进行聊天交互。
  • 喜好记忆:支持对话历史排序与喜好记录。

4. 记账(记录追星消费)

  • 预算管理:支持月度预算设置,买周边不再盲目吃土。
  • 多维度记录:多类别消费记录与修改功能,支持纵览统计分析。

5. 签到抽卡(每日打卡)

  • 日历打卡:直观记录每日签到状态。
  • 卡池抽取:签到即可抽取专属星卡片与偶像语录,增加互动趣味性。

6. 星旅(出行与实地打卡)

  • 地图接入:接入腾讯地图 API。
  • 足迹记录:支持出行统计、足迹记录,以及演唱会/线下活动的实地精准打卡。

7. 星坛(分组粉丝论坛)

  • 私密圈子:支持自行创建专属粉丝群,或通过邀请码/申请制加入。
  • 社区互动:发帖、评论、公告等基础论坛功能。


三、技术架构与工具选型

本项目遵循先静态后动态、先前端再后端的构造思路,采用前后端分离的架构。

前端:微信小程序原生开发

  • 架构规模:共计 9 组核心模块(auth, budget, chat, checkin, forums, journals, profile, travel, home),总计 37 个页面。
  • 开发规范:标准的 wxml (结构)、wxss (样式)、js (逻辑) 与 json (配置) 分离开发。

后端:Django 框架

  • 架构规模:基于 Django 的模块化应用设计,包含用户管理、预算、AI聊天、社区、日记和旅行记录等 App。
  • 核心技术:RESTful APIs 接口设计、JWT (JSON Web Token) 身份认证、MD5 算法 API 签名。

第三方服务接入

  • 163 SMTP 服务:用于发送用户注册验证码、欢迎邮件及密码重置。
  • 阿里云通义千问 API:预置系统 Prompt 脚本,通过大语言模型驱动多角色智能对话。
  • 腾讯地图 API:获取当前地理位置、周边服务推荐及模糊搜索,实现粉丝实地打卡功能。

Author: linda1729
Reprint policy: All articles in this blog are used except for special statements CC BY 4.0 reprint policy. If reproduced, please indicate source linda1729 !
评论
  TOC