Molunerfinn / vue-koa-demo

:beginner:A simple full stack demo(CSR & SSR & Docker Support) written by Vue2 & Koa2(Koa1 verson also completed)
MIT License
756 stars 166 forks source link
docker docker-compose docker-support jest jest-tests koa koa2 mysql todolist vue vue-koa-demo vue-koa-ssr vue-ssr vue2

vue-koa-demo

A fullstack demo used Vue2 & Koa2(Koa1 version is here)

:sunny: Easy to setup and learn

:100: Api test coverage

:rocket: Instant feedback

:stuck_out_tongue_winking_eye: Vue SSR support in the ssr branch

:tada: Docker support

Coverage Status

Todolist

View the article for more details.

If you want to check the info of the test, view the article for more details.

Install

git clone https://github.com/Molunerfinn/vue-koa-demo.git

npm install or yarn

if you are using yarn & meet this error:

error upath@1.0.4: The engine "node" is incompatible with this module. Expected version ">=4 <=9".

please use

yarn --ignore-engines

Also you need to install MySQL & create a database named todolist,and execute 2 sql files list.sql & user.sql.They are in sql/

After that, create a .env file and set the database username & password:

# your database username
DB_USER=XXXX
# your database
DB_PASSWORD=YYYY 
# Koa is listening to this port
PORT=8889

If you want to run the test for the Project, please create a .env.test file to face this situation:

# your database username
DB_USER=XXXX
# your database
DB_PASSWORD=YYYY 
# The port which is listened by koa in the test environment
PORT=8888

Run

Node.js & Docker support. You need to create a .env file as above.

Node.js

Beacuse of using Koa2, Node.js >= v7.6.0 is needed.

Development:

npm run dev && npm run server

open browser: localhost:8080

tips: login password is 123

Production:

npm run start

open browser: localhost:8889

tips: login password is 123

Test:

npm run test and find the coverage report in the coverage/lcov/index.html

Docker

docker-compose build && docker-compose up

mysql in docker use 3306 port inside & outside.

open browser: localhost:8889

tips: login password is 123

License

MIT

Copyright (c) 2017 Molunerfinn