邻舍民宿

服务器端

1. 技术栈:

语言: NodeJs
框架: Express4.x版本
链接数据库的NodeJs库: Mongoose

2. 中间件:

a. express-session,可以在NodeJs中使用session,实现登录验证,后端设置session时长,可实现用户登录超时功能.
b. multer,用于文件上传,前端使用multipart/form-data传输文件流,后端则能接受到文件,并保存在本地.

3. 项目架构:
|-- wood-birds
    |-- .babelrc        // babel配置文件
    |-- .gitignore    // git上传忽略文件的配置文件
    |-- app.js    // 入口文件,主要配置整个项目需要用到的js库,包含中间件,路由接口,服务等功能。
    |-- LICENSE
    |-- package.json    // 项目配置文件
    |-- bin
    |   |-- www              // 项目Http服务配置文件,使用NodeJs创建Http服务,启动NodeJs项目
    |-- conf                  // 项目需要用到的配置文件
    |   |-- db.js            // 链接Mongodb数据库的配置文件
    |   |-- global.js      // 全局变量
    |-- model              // mongodb的数据表model,操作数据表的抽象方法
    |   |-- article.js          // 文章表(添加,删除,查询)
    |   |-- city.js              //  城市表(添加,删除,查询)
    |   |-- evaluate.js     //  评论表(添加)
    |   |-- home.js          //  首页表(上传首页Banner)  
    |   |-- house.js          //  房源表(添加,删除,查询,修改)
    |   |-- order.js          //   订单表(添加,查询,修改)
    |   |-- user.js            //  用户表(添加,查询,修改)
    |-- public                // 服务器静态文件开放路径(获取静态文件时,服务器地址 + images + '路径/xxx.jpg',即可获取文件,例如: https://aileer.net/images/bg.jpg)
    |   |-- images
    |       |-- account    // 存放用户图片的文件路径
    |       |-- article      // 存放文章图片的文件路径
    |       |-- home            // 存在热门城市图片和Banner的文件路径
    |       |   |-- banner   // 存放首页Banner的路径
    |       |-- resource    // 存放房源图片的文件路径
    |-- routes
    |   |-- account.js        // 用户相关的接口路由文件
    |   |-- discover.js      // 文章相关的接口路由文件
    |   |-- home.js          // 首页,获取banner,热门城市的接口路由文件
    |   |-- index.js          // 引入其他接口路由文件,统一配置,然后将所有的接口路由抛给app.js,使用app.use('/', 路由).
    |   |-- order.js          // 订单相关的接口路由文件
    |   |-- resource.js    // 资源(房源)相关的接口路由文件
    |-- schemas            // mongodb数据表,定义数据表字段及字段类型
    |   |-- Article.js       // 文章表
    |   |-- City.js            // 城市表
    |   |-- Evaluate.js    // 评论表
    |   |-- Home.js        // 首页表
    |   |-- HotCity.js    // 热门城市表
    |   |-- House.js      // 房源表
    |   |-- Order.js      // 订单表
    |   |-- User.js        // 用户表
    |-- server
    |   |-- auth.js        // 权限验证类(验证用户的权限,及登录超时)
    |   |-- model.server.js      // 数据表操作方法类(使用js方法操作数据库)
    |   |-- valid.js        // 验证类(验证接口必传字段方法)
4. 项目启动及发布:

安装相关软件: yarn, NodeJs,Mongodb
a. 启动项目

| $  cd wood-birds          // 先进入项目目录
| $  yarn install              // 安装依赖
| $  npm run dev          // 启动项目

b. 发布项目

  • 部署环境:Linux(ubuntu 18.04)
  • 部署路径: /opt/wood-birds/
  • 安装进程管理器PM2:yarn global add pm2
  • 使用pm2启动项目:
| $  cd /opt/wood-birds/
| $  pm2 ./bin/www  --name wood-birds
  • 查看进程启动:pm2 list

后台管理系统

你可能感兴趣的:(邻舍民宿)