个人的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 ...
随机推荐
- 数据结构 双向链表 C语言实现
dlist.h #ifndef __dList_H #define __dlist_H typedef int Item; typedef struct Node *PNode; typedef PN ...
- 线程的同步控制synchronized和lock的对比和区别
转载. https://blog.csdn.net/wu1226419614/article/details/73740899 我们在面试的时候,时常被问到如何保证线程同步已经对共享资源的多线程编程 ...
- java 序列化和反序列化的底层实现原理
出处:序列化和反序列化的底层实现原理是什么? 一.基本概念1.什么是序列化和反序列化 (1)Java序列化是指把Java对象转换为字节序列的过程,而Java反序列化是指把字节序列恢复为Java对象的过 ...
- type(),dir(),getattr(),hasattr(), isinstance()用法
1.type(变量) --->输出变量的类型int.float.str or others: 2.dir() ----> dir() 函数不带参数时,返回当前范围内的变量.方法和定义 ...
- Win32汇编常用系统函数
汇编语言(assembly language)是一种用于电子计算机.微处理器.微控制器或其他可编程器件的低级语言,亦称为符号语言.在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地 ...
- JavaScript设计模式(发布订阅模式)
发布—订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知.在JavaScript开发中,我们一般用事件模型来替代传统的发布—订阅模式 ...
- 修改hosts文件 解决coursera可以登录但无法播放视频的问题
我们经常为了学习或者了解一些领域的知识为访问国外的网站,但是在国内,很多优秀的网站都被封锁了.在GFW(墙)的几种封锁方式中,有一种就是DNS污染,GFW会对域名解析过程进行干扰,使得某些被干扰的域名 ...
- Autofac 组件、服务、自动装配
一.组件 创建出来的对象需要从组件中来获取,组件的创建有如下4种(延续第一篇的Demo,仅仅变动所贴出的代码)方式: 1.类型创建RegisterType AutoFac能够通过反射检查一个类型,选择 ...
- Winfrom 定时锁屏
#region 锁屏 public struct LASTINPUTINFO { [MarshalAs(UnmanagedType.U4)] public int cbSize; [MarshalAs ...
- JavaSE基础知识之继承
一.概述 继承描述的是事物之间的所属关系,这种关系是: is-a 的关系.例如,图中的兔子属于食草动物,食草动物又属于动物.继承可以使多种事物之间形成一种关系体系,让父类更通用,子类更具体. 1.1 ...