easy-mock

A persistent service that generates mock data quickly and provids visualization view.

Github星跟蹤圖

Introduction

If you're unable to deploy an Easy Mock service by yourself, the
online service is recommended.

Easy Mock is a persistent service that generates mock data quickly and provids
visualization view.

Features

  • Support API proxying
  • Convenient shortcuts
  • Support Collaborative editing
  • Support team project
  • Support RESTful
  • Support Swagger, OpenAPI Specification (1.2 & 2.0 & 3.0)
    • Create project quickly based on Swagger
    • Support displaying parameters and the return value
    • Support displaying class model
  • More flexible and extensible in response data
  • Support for custom response configuration (example: status/headers/cookies)
  • Use Mock.js schema
  • Support restc to preview API

Quick Start

Before starting, we assume that you're already have installed
Node.js (v8.x, v10.x is not supported) & MongoDB (>= v3.4) & Redis>= v4.0).

Installation

$ git clone https://github.com/easy-mock/easy-mock.git
$ cd easy-mock && npm install

Configuration

Find config/default.json or create config/local.json to overwrite some
configuration.

Easy Mock will load different configuration files according to your
environment. Reference to node-config
to get more information because Easy Mock uses node-config as its
configuration module.

{
  "port": 7300,
  "host": "0.0.0.0",
  "pageSize": 30,
  "proxy": false,
  "db": "mongodb://localhost/easy-mock",
  "unsplashClientId": "",
  "redis": {
    "keyPrefix": "[Easy Mock]",
    "port": 6379,
    "host": "localhost",
    "password": "",
    "db": 0
  },
  "blackList": {
    "projects": [], // projectId, e.g."5a4495e16ef711102113e500"
    "ips": [] // ip, e.g. "127.0.0.1"
  },
  "rateLimit": { // https://github.com/koajs/ratelimit
    "max": 1000,
    "duration": 1000
  },
  "jwt": {
    "expire": "14 days",
    "secret": "shared-secret"
  },
  "upload": {
    "types": [".jpg", ".jpeg", ".png", ".gif", ".json", ".yml", ".yaml"],
    "size": 5242880,
    "dir": "../public/upload",
    "expire": {
      "types": [".json", ".yml", ".yaml"],
      "day": -1
    }
  },
  "ldap": {
    "server": "", // Set server to enable LDAP login. e.g. "ldap://localhost:389" or "ldaps://localhost:389"(use SSL)
    "bindDN": "", // Username,e.g. "cn=admin,dc=example,dc=com"
    "password": "",
    "filter": {
      "base": "", // Base where we can search for users,e.g. "dc=example,dc=com"
      "attributeName": "" // e.g. "mail" or "email" etc.
    }
  },
  "fe": {
    "copyright": "",
    "storageNamespace": "easy-mock_",
    "timeout": 25000,
    "publicPath": "/dist/"
  }
}

Note:

  • The default value of publicPath is '/dist/'. You can replace it to your
    own CDN if necessary.
  • If you changed some configuration of fe, you should run build command
    to adapt that changes.

Background:

Easy Mock supports two background service,
Unsplash and Bing.

If you leave unsplashClientId blank, the background will be provided by Bing.

Launch

$ npm run dev
# Visit http://127.0.0.1:7300

More Commands

# Build front-end assets
$ npm run build

# Run Easy Mock as production environment (You should run `build` first)
$ npm run start

# Run unit test
$ npm run test

# Test lint
$ npm run lint

Deployment

Please configure your configuration files before this step.

PM2

We're recommending you to use PM2 as your
daemon process.

Install PM2 Globally

$ [sudo] npm install pm2 -g

Launch via PM2

You should run build before this step.

$ NODE_ENV=production pm2 start app.js

Releases

Refer to Release and you'll
get all the releases and theirs changelog.

Contributing

Easy Mock is now maintained by
Mobi-Architecture team of Souche Inc. If you
have any question about this project, you're welcome to post
Issues or make some
Pull Requests. Before
contributing, we think you'd better read the
contributing guide.

Real-Time Feedback

You may make some real-time feedback via QQ group.

QQ is the most popular IM software in China and you can get it downloaded via
http://en.qq.com/.

The QQ group number is 595325417, and here's the QR code of the group:

Who Deployed Easy Mock

If you deployed Easy Mock in your own server, please tell us

Core Contributors

License

GPL-3.0

主要指標

概覽
名稱與所有者easy-mock/easy-mock
主編程語言JavaScript
編程語言JavaScript (語言數: 4)
平台
許可證GNU General Public License v3.0
所有者活动
創建於2017-08-27 13:59:29
推送於2023-01-09 09:27:21
最后一次提交2018-05-24 18:50:31
發布數12
最新版本名稱v1.6.0 (發布於 )
第一版名稱v1.2.3 (發布於 )
用户参与
星數9k
關注者數224
派生數1.3k
提交數136
已啟用問題?
問題數427
打開的問題數156
拉請求數4
打開的拉請求數29
關閉的拉請求數24
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?