543877815 / db_project

大三上数据库原理的时候做的一个小全栈练习应用,用的是Vue + SSR + Koa2 架构

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

db_project

一个使用Vue全家桶+SSR+Koa2的全栈练习

看的是慕课上面的Vue全家桶+SSR+Koa2全栈开发美团网

后面结合数据库课程来拓展一点功能

​ 课程实现的功能:

  • 登录注册
  • 切换城市
  • 产品类型
  • 产品列表
  • 产品详情
  • 购物车
  • 订单产生

​ mark一下知识点:

  • create-nuxt-app搭建的脚手架

  • 交互用的axios

  • 样式框架element-ui

  • 规范代码eslint

  • 登录注册用的redis做缓存,koa-passport做权限认证

  • 验证码用的腾讯邮箱的STMP服务发送,结合nodemailer

  • 购物车、订单的数据用的mongodb,操作用mongoose,GUI用的Robo 3T

  • 地图用的高德邮箱的服务

  • 产品数据用的爬取的线上数据,当然线下也有比较少,在dbs的readme有说区别

  • 定位也是用的线上的接口

  • 讲了中间件的**,对比了SSR和普通请求

  • 用了很多ES6的写法,比如解构赋值,async、await的结合

  • 自己遇到的坑有import之于export default,require之于module exports,lang="css"要安装node-sass和,sass-loader

  • 还有一些小插件包括,crypto-js用于算MD5,lodash的debounce,拼音搜索js-pinyin

    有待增强的地方:

  • 没有用RestFul规范定义接口

  • 地图坐标的变动

  • 没有完全使用mongodb实现增删改查

    结合课程实现的部分:

  • 结合使用mysql实现酒店列表、酒店房型列表的复杂查询、订单列表的增删改查

  • 我反悔了,课程给的数据库设计的太瓜皮了,只写了相关查询,其他不写了

  • mysql查询使用的是mysql2,因为要用纯sql来写,逻辑比较复杂,如果用ORM可以用sequelize,可以降低开发复杂度。

Build Setup

# install dependencies
$ npm install

# serve with hot reload at localhost:3000
$ npm run dev

# build for production and launch server
$ npm run build
$ npm start

# generate static project
$ npm run generate

# mongodb
$ mongod --dbpath D:/mongoDB/data

# redis,if sth go wrong
$ redis-cli
$ shutdown
$ exit

# redis,else
$ redis-server

For detailed explanation on how things work, checkout Nuxt.js docs.

About

大三上数据库原理的时候做的一个小全栈练习应用,用的是Vue + SSR + Koa2 架构


Languages

Language:Vue 51.8%Language:CSS 30.9%Language:JavaScript 17.3%