xwy27 / koa-template-repo

Template Web Repo based on Koa2

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ServerEnd

build Coverage Status

Server-end project for Coin Arrival

Dependency

  • Docker familiar User

    Docker
    >=18.03.0ce
  • Docker Unfamiliar User

    node npm
    >=v9.0 >=v6.0

Usage

API Reference

API-Document

Development

本项目依赖于CoinArrival/BackEnd,故介绍从 BackEnd 到 ServerEnd 的部署流程。

With Docker

  • BackEnd

    BackEnd 可以从 docker hub 拉取(其实我们也没成功push上去):

    docker pull sysucoinarrival/backend_backend:latest

    鉴于国内网速,建议采用下列方式:

    • Clone BackEnd Repo

      git clone https://github.com/coinarrival/BackEnd.git
      cd BackEnd
    • 修改数据库配置文件BackEnd/settings.py:

      DATABASES = {
        'default': {
          # ...
          'HOST': 'coin_arrival',  # 与本项目下 docker-compose 中的数据库服务容器名保持一致
        }
      }
    • 创建 BackEnd Docker 镜像

      # pwd: /path/BackEnd
      docker-compose build .
  • 运行项目

    首先,下载源代码

    git clone https://github.com/coinarrival/ServerEnd.git
    cd ServerEnd

    为适应多样的部署方法,需要先修改配置文件bin/config/config.js

    'backend': 'http://backend:8000', // backend 为本项目 docker-compose 中的后台服务名

    下面可以正常运行项目:

    # running foreground
    docker-compose up # if with -d param it runs background

    通过 curl 可以测试项目是否正常运行:

    curl http://localhost:3000/registration -X POST -d "username=testuser&password=12345678&email=test@test.com&phone=13712345678&role=student"
    # success response data below
    # {"status_code":201}

Manually

手动进行部署也是可以的。

  • 启动数据库服务支持(MySQL5.7)

    创建所需数据库

    CREATE DATABASE coin_arrival;

    数据库中使用 show databases; 出现 coin_arrival 则创建成功

  • BackEnd 启动

    git clone https://github.com/coinarrival/BackEnd.git
    cd BackEnd

    通过修改 BackEnd/settings.py 中的数据库配置来帮助后台项目连接你所使用的数据库

    DATABASES = {
      'default': {
        'ENGINE': 'django.db.backends.mysql',   # 数据库引擎
        'NAME': 'coin_arrival',  # 与前一步的数据库名保持一致
        'USER': 'zhangshanfeng',     # 用户名,可以自己创建用户
        'PASSWORD': '******',  # 密码
        'HOST': '127.0.0.1',  # mysql服务所在的主机ip
        'PORT': '3306',         # mysql服务端口
      }
    }
    python ./BackEnd/manage.py migrate
    python ./BackEnd/manage.py makemigrations
    python ./BackEnd/manage.py runserver 0.0.0.0:8000

    后台程序无报错则启动完毕,如果有,请审查你的数据库配置是否正确。

  • ServerEnd 启动

    首先下载项目源码并安装项目依赖

    git clone https://github.com/coinarrival/ServerEnd.git
    cd ServerEnd
    npm install

    然后可以启动服务端项目:

    npm start

    通过 curl 可以测试项目是否正常运行:

    curl http://localhost:3000/registration -X POST -d "username=testuser&password=12345678&email=test@test.com&phone=13712345678&role=student"
    # success response data below
    # {"status_code":201}

    对于开发人员,项目提供了热更新启动命令:npm run dev。每当你对bin目录下的源代码文件进行了修改,项目会自动重启,而不必手动关闭后再启动

Q&A

Waiting...

About

Template Web Repo based on Koa2

License:MIT License


Languages

Language:JavaScript 89.8%Language:HTML 10.2%