1 Star 0 Fork 15

张凯 / meiduo_project

forked from HuiDBK / meiduo_project 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

美多商城 — Django 开发

前言

本项目属于网上自学项目,注重熟悉业务功能开发以及扩展技术知识面。了解前沿的技术解决方案。并新增了一些自己的设计,例如:统一异常处理,状态码枚举类、项目 html 网页模板路径汇总类,以及 Cookie, Redis 键名的设计与封装等。尽量的让项目避免出现 魔法值,提高项目的可扩展性和可维护性。


项目概述

美多商城属于 B2C 电商平台,商城销售自营商品给顾客。系统前台包括 商品列表、商品详情、商品搜索、购物车、订单支付、评论、用户中心 等核心业务功能,系统后台包括商品管理、运营管理、用户管理、系统设置等系统管理功能。


项目技术栈

名称 说明
Django Django Web开发框架
Django REST framework Django REST规范的Web框架
Vue 前端 JavaScript 框架
MySQL MySQL 数据库
Redis Redis 缓存数据库
Celery 分布式任务队列
FastDFS 分布式文件存储系统
ElasticSearch 全文检索框架
alipay 阿里支付
OAuth 2.0 第三方授权认证
docker 容器化引擎

项目架构图

美多项目架构.png


初始开发环境

环境 / 工具 版本 说明
Python 3.7.9 Python 解释器
Django 3.2.7 Django 框架
Jinja2 2.10 模板引擎
PyCharm Professional 2020.2 Python IDE 编辑器
MySQL 8.0.26 MySQL 数据库

上面就是项目的初始开发环境,项目后续所需的第三方库环境在 meiduo_mall 下的 requirements.txt 文件中。可以使用如下命令全部安装。

pip install -r requirements.txt

项目功能图

项目功能图


项目开发模块划分

系统前台

  • 首页内容广告模块 - contents
  • 用户模块 - users
  • 校验模块 - verifications
  • 认证模块 - oauth
  • 省市区三级联动模块 - areas
  • 商品模块 - goods
  • 购物车模块 - carts
  • 订单模块 - orders
  • 支付模块 - payment

系统后台

  • 商品管理模块 -
  • 运营管理模块 -
  • 用户管理模块 -
  • 系统设置模块 -

项目特色

  1. 自定义用户认证后端,实现多账户登录,基于 OAuth2.0,实现第三方登录。
  2. 采用 Redis 作为消息中间件,配合 Celery 完成异步发送邮件与短信验证码。
  3. 采用分布式文件系统 FastDFS 作为文件存储系统,存储项目静态图片。
  4. 采用 Haystack+Elasticsearch 实现商品的搜索。
  5. 采用 docker 容器化技术搭建项目环境。
  6. 数据库事务 + 乐观锁解决并发订单保存问题。
  7. 网站首页、商品详情页进行页面静态化,提升网站性能。
  8. MySQL 主从同步,读写分离实现数据库负载均衡。

项目部分页面展示

广告首页

首页01

1F手机通讯

2F电脑数码

3F家居安装


商品详情

商品详情


购物车

购物车


项目资料


项目环境搭建与部署

一、准备项目的 Python 虚拟环境


二、数据库环境

MySQL

Redis


三、docker 搭建项目环境


四、nginx + uwsgi 部署项目


尾语

✍ 用 Code 谱写世界,让生活更有趣。❤️

✍ 万水千山总是情,点赞再走行不行。❤️

✍ 码字不易,还望各位大侠多多支持。❤️

MIT License Copyright (c) 2021 HuiDBK Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

美多商城项目练习 展开 收起
Python
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/zk-8843/meiduo_project.git
git@gitee.com:zk-8843/meiduo_project.git
zk-8843
meiduo_project
meiduo_project
master

搜索帮助