前因贴: https://www.v2ex.com/t/825525#reply0
项目简介: 
以微商城 + 支付营销为主体的私域 saas 项目;
项目体验网址:  http:www.f-space.cn:6060
体验账户: 13764891668 (我的手机微信,可以加我项目技术交流)
密码: isno1026
可得堆一下功能
- 
概况: 订单统计、流水统计
 
- 
订单: 包裹分拆、合并,改价、物流、搜索、线下店铺核销
 
- 
商品 SKU 、分类、积分、品牌、运费模板
 
- 
顾客 顾客信息跟踪、会员等级、积分这块
 
- 
门店 线下分店管理、geo 经纬度位置、门店收银机接入
 
- 
优惠券 普通券、复用券、指定商品、指定会员、指定生效时间
 
- 
活动 满免邮、满赠券、满折、满减 指定会员、指定生效时间
 
- 
系统 管理员设置、支付设置、基本设置
 
- 
物流按体积、按重量、按地区不同价、调整价等
 
- 
其他  等等等等等等等等等等等等等等等等等等等等等等等等等等等等...
 
项目的经历不说了,聊聊项目技术
技术语言及框架
Python2.7 及 Tornado 5.1
选型原因:
- Python 对于创业型项目太友好了,开发速度快,简单,成熟的库太多了
 
- 在很久以前,听闻豆瓣是阿北一个人,便对 Tornado 产生了兴趣,熟悉之后,开发太简单了,灵活,对项目的控制力很强
 
数据库 MongoDB + MongoEngine
选型原因:
不输 NoSQL 的性能,又比 NoSQL 更多的类型支持
使用 MongoEngine 可以避免 文档型数据库松散的缺点,可以让我更好的定制业务模型,好用
文档型的数据库太好用了
搜索
ElasticSearch
- 没得说,搜索界的一哥
 
- 配合 Elasticsearch_DSL 定义业务文档模型, 清晰明确简单
 
- 配合 MongoEngine 的信号机制,监听 Document save update 事件,数据实时同步到 ElasticSearch
 
- 好用的呱呱叫
 
分布式任务
Celery + Redis
用 Python 分布式任务系统可选的不多,但能选的都是精品, 用它做短信、订单处理、搜索更新、定时任务 效率也是呱呱叫
任务监控
- Supervisor
 
- Python 进程、Celery 任务、数据库、等等进程全给配上,没事登录后台看下任务情况,再看看异常 log ,有问题随时解决
 
后台 JS 部分
- 古老的技术 Angular 1.3(用的唯一理由:熟悉的早,那时候 vue 还没有)
 
- 后面想用 vue ,业务改造成本已经老高了
 
- 结合定义的各种 directives ,再写业务 controllers ,效率也不低。
 
- 到后台看下 html 源码, 都是密密麻麻的 controllers
 
小程序部分
电商类的项目,没得用,vant 用上
小程序后端
暂时用 python 写写,业务先跑起来,后面有量了,找机会改成 Golang ,这块的成本不高