前因贴: 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 ,这块的成本不高