基于 Laravel 一步一步构建一套电商系统

基于 Laravel 一步一步构建一套电商系统

转自 https://php.ctolib.com/buqiu-laravel-shop.html

使用 Laravel-Admin 快速构建管理后台、支付宝和微信支付的回调通知处理、Laravel 项目中对异常的处理、购物车设计、商品 SKU 数据结构设计、通过延迟队列自动关闭订单、MySQL 事务处理、库存增减的正确姿势、无限级分类、Elasticsearch

  •  

涂呀网商城

laravel-shop 基于 Laravel5.6 一步一步构建一套电商系统。使用 Laravel-Admin 快速构建管理后台、支付宝和微信支付的回调通知处理、Laravel 项目中对异常的处理、购物车设计、商品 SKU 数据结构设计、通过延迟队列自动关闭订单、MySQL 事务处理、库存增减的正确姿势、无限级分类、Elasticsearch、分面搜索、代码部署、负载均衡、压力测试、接口性能优化、随机拒绝等电商开发相关的高级技术概念。

功能

 

功能如下

  • 用户中心;
  • 收货地址;
  • 电商管理后台;
  • 权限管理;
  • 商品管理;
  • 商品 SKU;
  • 购物车模块;
  • 订单模块;
  • 支付模块(支付宝、微信支付);
  • 商品评价;
  • 商品收藏;
  • 订单退款流程;
  • 优惠券模块;
  • 电商安全须知;
  • 数据备份。
  • 高性能无限级分类;
  • 众筹商品管理;
  • 众筹商品下单逻辑;
  • 众筹商品结束逻辑;
  • 使用分期付款支付订单;
  • 计算分期付款逾期费;
  • 分期付款订单的退款;
  • 给商品增加属性;
  • 使用 Elasticsearch 重构商品搜索模块;
  • 分面搜索;
  • 相似商品查询;
  • Elasticsearch 的索引迁移;
  • 秒杀商品管理;
  • 秒杀商品下单逻辑;
  • 秒杀接口性能优化;
  • 编写部署脚本;
  • 多机部署实现负载均衡。

运行环境要求

  • Nginx 1.15+
  • PHP 7.2+
  • Mysql 5.7+
  • Redis 3.0+
  • Elasticsearch 6.0+

开发环境部署/安装

本项目代码使用 PHP 框架 Laravel 5.6 开发,本地开发环境使用 Laravel Homestead

下文将在假定读者已经安装好了 Homestead 的情况下进行说明。如果您还未安装 Homestead,可以参照 Homestead 安装与设置 进行安装配置。

基础安装

1. 克隆源代码

克隆 larabbs 源代码到本地:

> git clone git@github.com:buqiu/laravel-shop.git

2. 配置本地的 Homestead 环境

1). 运行以下命令编辑 Homestead.yaml 文件:

homestead edit

2). 加入对应修改,如下所示:

folders:
    - map: ~/my-path/laravel-shop/ # 你本地的项目目录地址
      to: /home/vagrant/laravel-shop

sites:
    - map: shop.test
      to: /home/vagrant/laravel-shop/public

databases:
    - larabbs

3). 应用修改

修改完成后保存,然后执行以下命令应用配置信息修改:

homestead provision

随后请运行 homestead reload 进行重启。

3. 安装扩展包依赖

composer install

4. 生成配置文件

cp .env.example .env

你可以根据情况修改 .env 文件里的内容,如数据库连接、缓存、邮件设置等。

5. 生成秘钥

php artisan key:generate

6. 生成数据表及生成测试数据

在 Homestead 的网站根目录下运行以下命令

$ php artisan migrate --seed

初始的用户角色权限已使用数据迁移生成。

7. 配置 hosts 文件

echo "192.168.10.10   shop.test" | sudo tee -a /etc/hosts

前端框架安装

1). 安装 node.js

直接去官网 https://nodejs.org/en/ 下载安装最新版本。

2). 安装 Yarn

请按照最新版本的 Yarn —— http://yarnpkg.cn/zh-Hans/docs/install

3). 安装 Laravel Mix

yarn install

4). 编译前端内容

// 运行所有 Mix 任务...
npm run dev

// 运行所有 Mix 任务并缩小输出..
npm run production

5). 监控修改并自动编译

npm run watch

// 在某些环境中,当文件更改时,Webpack 不会更新。如果系统出现这种情况,请考虑使用 watch-poll 命令:
npm run watch-poll

链接入口

管理员账号密码如下:

username: admin
password: admin

至此, 安装完成 ^_^。

自定义 Artisan 命令

命令行名字说明Cron代码调用
cron:calculate-installment-fine计算分期付款逾期费每天凌晨 00:00 执行
cron:finish-crowdfunding结束众筹每分钟执行一次
es:migrateElasticsearch 索引结构迁
es:sync-products将商品数据同步到 ElasticsearchProjectIndex::rebuild

队列清单

名称说明调用时机
OrderPaid.php订单支付订单支付(修改商品数、订单支付成功发邮件、支付成功后更新众筹进度)
OrderReviewd.php订单评论订单评论(修改商品评价数)
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值