分享发现 虽然还没有完工, 但我还是迫不及待的想 “炫技” 下我的项目

isno · 2021年12月31日 · 最后由 bxhcsz 回复于 2022年03月31日 · 90 次阅读

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

看起来不错,加油!

你一个人做?这是个大项目啊😂

需要 登录 后方可回复, 如果你还没有账号请 注册新账号