2021.03-2021.05 党媒旧SDK系统迁移 Golang后端开发
项目描述:
新的党媒系统交付后,由于旧系统中接入了多家第三方的推荐位且第三方不具备开发能力,
需要将这些负责向C端分发内容的接口迁移到新系统,保证已经接入的应用关联的第三方页面和
app正常运行。
项目职责:
1. 负责完成200+应用的迁移;
2. 抓包已有app,分析需求并制定迁移方案;
3. 通过调用现有gRPC的推荐内容列表,最大程度兼容现有接口;
4. 由于应用数量较多,为了保证测试进度,通过限制请求IP和应用key,进行灰度迁移。
2021.02-2021.04 党媒消息系统 Golang后端开发
项目描述:
党媒系统中包含管理后台与融合号控制台,党媒平台控制台需要与融合号控制台之间有消息
互动,用于发布公告,通知用户行为,聊天等行为。
项目职责:
1. 包含系统公告,通知中心,聊天消息三个模块;
2. 设计消息系统的基本架构;
3. 根据三种模块的特性,设计了不同的表结构;
4. Web API与前端使用websocket通信;
5. Web API发消息调用gRPC,接收消息订阅Kafka的topic;
6. 为了解决用户群发私信时前端页面不断刷新导致前端崩溃,群发使用异步+结束通知的策略。
2020.04-2021.04 党媒平台控制台 Golang后端开发
项目描述:
"全国党媒信息公共平台"由人民日报媒体技术股份有限公司负责规划、建设与运营。平台的
建设内容可以概括为:"百端千室一后台",即:以人民日报全媒体新闻平台为基础,连接人民日
报系各类新媒体终端,与全国各类中央媒体、地方媒体、行业媒体以及党政机关、企事业单位的
新闻宣传部门携手合作,联通数百个客户端,孵化上千个融媒体工作室,在保持各类端口后台独
立的前提下,打造一个共享的技术后台,从而构建起面向全国党媒的人才共享、内容共享、技术
共享、渠道共享、盈利模式紧密协作的公共平台。
项目模块:
1. 账号管理:后台运营人员管理,融合号管理;
2. 内容管理:内容库管理,内容审核,标签管理;
3. 推荐管理:推荐位管理,标签管理;
4. 操作日志:平台用户的操作日志。
项目职责:
1. web API使用gin框架,通过中间件进行用户登录和权限校验;
2. 使用validator校验绑定参数,根据需求自定义校验方法tag或结构体级校验;
3. 使用中间件,校验用户登录和权限;
4. 调用gRPC服务,请求需要的数据并组装后返回;
5. 日志使用logrus模块记录,错误接入sentry服务;
6. 完成API接口的单元测试,使用mockgen生成gRPC接口模拟调用。
2019.05-2019.11 一遇 Python后端开发
项目描述:
项目基于Django + DRF 开发,是一款全新的开放式移动社交应用,支持分享话题,创建社
区, 与志趣相投的人聊天交友等。
项目职责: 基于Django + DRF+ MySQL + Redis + Celery,完成了四个模块,即用户模块,图
库模块,社 交模块,内容搜索模块,订单模块。
1. 用户模块:
使用RESTFul风格设计API接口,实现登录注册功能;
调用腾讯云第三方接口,发送短信验证码;
通过Redis存储短信验证码,并设置过期时间;
登陆后通过JWT模块,进行Token校验,验证用户当前登录状态。
2. 图库模块:
通过调用第三方腾讯云接口,将用户图片上传存储至腾讯云,减轻服务器压力;
使用celery异步实现。
3. 社交模块:
使用Redis缓存喜欢以及超级喜欢次数;
调用数据库中普通用户以及VIP权限,判断是否具有权限;
使用redis地理位置信息功能,实现附近人动态。
4. 内容搜索模块:
数据库使用Mysql主从实现读写分离,提高服务器性能;
Redis使用了主从读写分离,并且为防止Redis雪崩以及融穿,使用哨兵实现高可用;
使用Logging模块来记录日志。
5.订单模块:
调用支付宝,微信支付第三方接口,实现VIP充值功能。