个人的web商城网站
项目介绍
1、作为前端的菜鸟,每每看到Github上有很多大神分享着自己的项目时,内心都是蠢蠢欲动,这次终于下定决心要给自己一段时间来完成属于自己的一份作品。
2、于是在查找了大量资料,思考着技术选型,终于决定做一个展现商品的web全栈网站。
3、此网站的商品名称、商品价格、商品价格等商品信息均是通过node爬虫获取到,然后根据自己需求设计数据库模型,并将其导入而获取到的数据并展现出来。该网站实现了一般商城最最最基本的功能:注册、登录与退出功能,购物车的添加与修改,前端实时计算购物车数量并展现,地址列表的增加与删除,订单列表的生成,下单以及查询下单成功等功能。当然这个网站还有许许多多需要完善并增加的功能,在此之后也会不断去完善这个网站。
4、在此过程中遇到很多困难,当每每告诫自己需要静下心来,明确问题所在,并多查看相关文档与问题,找到问题所在,并记录下来,之后会整理一下在这个项目中个人遇到的问题及解决的办法。所幸的是问题都已经解决,项目也顺利部署。
线上地址展示
线上前端项目地址:Husky Market
Github地址:Husky
代码安装与部署
# 克隆地址
git clone https://github.com/husky0601/js-full-stack-mall.git
#进入项目文件
cd js-full-stack-mall
# 安装依赖
npm install
# 运行项目
npm run dev
技术栈
前端:
SVG + Sass + Flex + Vue全家桶(vue + vuex + vue-router+ axios)+ webpack
后端JS:
Node.js + Express
数据库:
Mongodb + mongoose
项目架构
前端vue项目架构
├── build // webpack配置文件
├── config // 项目打包路径
├── src // 源码目录
│ ├── assets // 样式目录
│ ├── components // 公用组件
│ │ ├── Header.vue // 头部组件
│ │ ├── Bread.vue // 面包屑组件
│ │ ├── Footer.vue // 底部组件
│ │ ├── Modal.vue // 模态框组件
| | |—— LoadderMore.vue // 加载更多
│ ├── router // 路由目录
│ │ ├── index.js // 路由配置
│ ├── util // 工具插件目录
│ │ ├── currency.js // 格式化价格工具
│ ├── views // 主要页面
│ │ ├── Login.vue // 注册与登录页
│ │ ├── GoodsList.vue // 商品列表页
│ │ ├── AddAddress.vue // 添加地址页
│ │ ├── Cart.vue // 购物车页
│ │ ├── Address.vue // 收货地址页
│ │ ├── OrderConfirm.vue // 下单页
│ │ ├── orderSuccess.vue // 下单成功页
│ ├── App.vue // 总组件(渲染页面)
│ ├── main.js // 入口文件
├── static // 静态资源目录
├── index.html // html入口文件
├── favicon.ico // 图标
├── package.json // 依赖文件
后端Express项目架构
├── bin // 主文件
│ ├── www // 项目的入口文件
├── model // 数据模型
│ ├── users.js // 用户数据模型
│ ├── goods.js // 商品数据模型
├── public // 共有静态资源
├── router // 路径接口
│ ├── goods.js // 商品路径接口
│ ├── users.js // 用户路径接口
├── utils // 全局共有方法
│ ├── utils.js // 全局共有方法
├── views // 页面展示
|—— app.js // express主文件
├── package.json // 依赖文件
基本功能
前端功能
- 响应式布局 --完成
- 注册、登录、退出 --完成
- 加入购物车、购物车结算 --完成
- 地址增加、删除 --完成
- 下单功能 --完成
- 商品详情 --未完成
- 商品分类展示 --未完成
- 个人中心 --未完成
- ......思考ING
后端功能
- 全局登录拦截 --完成
- 用户注册、登录、退出 --完成
- 商品过滤、查询 --完成
- 购物车列表的增加、修改、删除 --完成
- 订单生成、查询 --完成
- 商品详情图片的获取 --未完成
- 订单管理 --未完成
- ......思考ING
个人的web商城网站的更多相关文章
- 建设商城网站ecshop如何开启伪静态
ecshop是国内一款比较流行的商城网站建设系统,它拥有比较完善的电子商务交易流程,其使用PHP+网站建设者的喜爱. 商城网站也需要网站优化,开启伪静态是个比较好的方法. ECSHOP的伪静态 ...
- Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径
Java/javaEE/web/jsp/网站编程环境配置及其软件下载和网站路径 (2015/07/08更新) JDK下载地址(JDK官网下载地址) 下载地址为:http://www.oracle.co ...
- Web UI 网站用户界面设计命名规范
Web UI 网站用户界面设计命名规范 WEB UI设计命名规范,也就是网站用户界面设计(网页设计)命名规范. 这套规范并非单纯的CSS.html或JavaScript命名规范,它涉及了很多使用Pho ...
- 解析汽车B2C商城网站四种盈利模式
汽车已成为家庭的日常用品,汽车的配套设施也成为销售的热点,汽车B2C电子商城为行业营销的新平台,汽车B2C电子商务网站盈利的模式是怎样的?创新的盈利模式才能在行业竞争中生存. 资讯产品一体模式 网站的 ...
- YiShop_商城网站设计应该注意什么
商城网站的建设,不是一件简单的事情,当然,也不要把商城网站的建设想得那么的复杂,在建设商城网站的时候 ,只要考虑到以下这些因素,定能把商城网站建设工作做好.那么商城网站建设要考虑哪些因素:(1)风格 ...
- YiShop_商城网站建设应该注意什么
现在电子商务迅速发展,而专门搭建商城网站的第三方开发商也很多.现在搭建一个商城网站容易,如何运营一个商城网站才是重点.下面就由YiShop说说电子商城网站建设要思考什么呢(1)建设网站的目的是什么首先 ...
- 基于jQuery商城网站全屏图片切换代码
基于jQuery商城网站全屏图片切换代码.这是一款商城网站全屏多张图片滑动切换代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div class="slid ...
- ECSHOP商城网站建设之自定义调用广告方法(二)
原文地址:http://www.cnblogs.com/zgzy/p/3598991.html 使用ecshop进行商城网站建设时,ecshop默认的很多功能对于我们个性化设计之后不太使用.今天我们主 ...
- 搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3
Web GIS系列: 搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3 使用GeoServer+QGIS发布WMTS服务 使用GeoSe ...
随机推荐
- day33 网络编程之UDP与进程了解
UDP 什么是UDP协议 在上节课的练习中,使用TCP进行网络编程时,我们会遇到粘包问题,这是因为TCP是流式协议,而今天学习的UDP协议不是流式协议,其发送的数据是数据报格式的,在进行数据发送时该协 ...
- Linux文件属性之用户与用户组基础知识回顾
回顾: 用户.用户组的概念: 每个文件和进程,都需要对应一个用户和用户组. linux系统通过UID和GID来识别用户和组的. 用户名相当于人名 UID和GID 身份证号 管理员:root do ...
- jps 命令
NAME jps - Lists the instrumented Java Virtual Machines (JVMs) on the target system. This command is ...
- 【转帖】我以为我对Kafka很了解,直到我看了这篇文章
我以为我对Kafka很了解,直到我看了这篇文章 2019-08-12 18:05 https://www.sohu.com/a/333235171_463994?spm=smpc.author.fd- ...
- Kafka如何实现每秒上百万的高并发写入
Kafka是高吞吐低延迟的高并发.高性能的消息中间件,在大数据领域有极为广泛的运用.配置良好的Kafka集群甚至可以做到每秒几十万.上百万的超高并发写入. 那么Kafka到底是如何做到这么高的吞吐量和 ...
- Linux系列:进阶之tomcat安装
思路:作者是在Windows上从Apache官网下载的tomcat,之后将tomcat文件放到我的ftp站点中,在Linux访问ftp站点下载tomcat文件 ,将tomcat放在我自己的安装目录中, ...
- [SDOI2013]直径 题解
题面 这道题明显的一定要找到直径的具体路径,所以两遍dfs是比较好的选择: 第一问是一道弱智题吧? 主要难度全部分摊在了第二问: 其实不难,先找到任意一个直径: 对于任意一个在直径上的点: 设nxt[ ...
- PAT B1024/A1073 科学计数法
书中AC代码 #include <cstdio> #include <cstring> #include <iostream> #include <cmath ...
- redis发布订阅者
发布者pub.py import redis conn = redis.Redis(host='127.0.0.1', decode_responses=True) conn.publish(') 订 ...
- js之语句——案例
以下为js语句的案例题,虽然简单,但是里面涉及到语句的嵌套,多个参数,需要好好分析. 1.求出1-100之间所有奇/偶数之和 <script> var sum = 0; for (var ...