项目一:掌门技术支持工单系统
环境与架构:Python3+Redis+Mysql +uWSGI+Django
责任与描述:主流的Restful接口设计和前后端分离模式,MTV设计模式,负责登录注册模块、用户中心、工单模块。
技术描述:
使用Django框架开发,引入ORM模型实现快速安全与数据库交互操作数据;
基于OAuth2.0协议实现第三方方式登陆,及重写自定义认证后端添加多种登陆方式;
使用第三方库captcha生成图片验证码,使用第三方的阿里云并且以celery异步队列方式来发送短信验证码;
单例模式进行绑定邮箱时候发送验证邮件;
登录/注册模块生成用户jwt_token,设计2小时有效期的登录token和14天有效期的刷新token,当2小时token过期后,在用户无感知的情况下,使用14天的刷新token获取新的登录token值,禁止使用刷新token进行登陆操作,有效防止爬虫,同时实现14天用户免登录访问及状态保持;
将 Redis 数据库执行语句如校验验证码,存放在管道 pipeline 统一执行,减少数据库修改次数,提高数据库性能;
自定义修改原生存储后端,将图像存储到fastdfs存储系统,实现海量数据存储;
利用缓存机制保存个人中心的数据,减少数据库的读写;
使用Django事务锁transaction设置保存点和异常回滚点,使技术支持抢工单提交的一致性;
uWSGI部署项目。