项目 · 全栈开发工程师
与宇宙对话 —— 教练平台
SaaS 教练与课程管理平台,采用 Wagtail CMS、JWT 认证、社交登录(Google、Facebook)、实时内容管理以及 React SPA 前端 —— 部署于 DigitalOcean Kubernetes。
🔒 私人 / 客户项目——线上站点和代码受 NDA 保护。乐意在通话中介绍架构和我的角色。
技术栈
PythonDjangoWagtailDjango REST FrameworkReactTypeScriptAnt DesignPostgreSQLRedisDockerKubernetesGitLab CI/CDDigitalOceanJWTS3
项目概述
Dialogs with Universe 是一个辅导平台,通过结构化的课程项目将教练与学员连接起来。后端提供基于 Django 和 Wagtail CMS 构建的全功能 REST API,前端则交付一个使用 React 和 Ant Design 构建的现代单页应用。该平台支持 JWT 和社交登录认证、HubSpot CRM 集成以及 Personio HR 系统的 Webhook。
核心功能
- 课程管理系统——创建、列出并为学员和教练办理报名
- 基于 JWT 的 API 认证,带有令牌刷新和验证端点
- 通过 Google 和 Facebook 的社交登录(django-allauth)
- 用于富内容页面、搜索和文档管理的 Wagtail CMS
- 带有教练、督导和验证角色的用户档案
- 用于线索和联系人同步的 HubSpot CRM Webhook 集成
- 用于员工数据的 Personio HR Webhook 集成
- 由 Swagger 和 ReDoc 自动生成的 API 文档
- 兼容 S3 的媒体存储(AWS/MinIO),支持 CDN
- 用于提升 API 响应性能的 Redis 缓存层
架构
后端采用 Django/Wagtail 架构,由 Django REST Framework 提供 API,供 React TypeScript SPA 消费。认证通过 SimpleJWT 处理,并由 django-allauth 提供 OAuth2 社交登录流程。整个技术栈运行在 DigitalOcean Kubernetes 上,2 个后端副本位于 Nginx ingress 控制器之后,使用 PostgreSQL 进行持久化,使用 Redis 进行缓存。CI/CD 通过 GitLab 流水线完全自动化——独立的构建和部署阶段将 Docker 镜像推送到 DigitalOcean Container Registry,并为开发和生产环境滚动发布 Kubernetes 部署。