Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Koa2 API template with passport, GraphQL, flowtype, knex and more.

NotificationsYou must be signed in to change notification settings

hongymagic/k2

Repository files navigation

K2

K2

Build StatuscodecovPackage dependenciesCodacy Badge

Koa 2 and GraphQL server thatjust works™. We've climbed the mountain ofboilerplate for you, so you don't have to.

Included…

  • koa2 - write stuff in middleware
  • babel - use latest ES6/7 features today. why wait?
  • passport.js - easy authentication
  • knex.js - documentation is better than sequelize
  • GraphQL - it's the way to go
  • Jest - don't let tests get in your way
  • ramda - please don't use lodash or underscore
  • prettier - don't worry about formatting…
  • flowtype - get your types right

Getting started

Make sure you have Docker installed as PostgreSQL is run on the dockercontainer.

git clone -o k2 -b master --single-branch https://github.com/hongymagic/k2.git example-apicd example-api                  # Change current directory to the newly created oneyarn install                    # Install required packages via yarncp .env.sample .env             # Configuration on development mode is done via dotenvyarn migrate:latest             # Run database migrationsyarn seed:run                   # Add some seed datayarn start:dev                  # Start the server in development mode

By default the API server starts on port 5000,http://localhost:5000.

Structure

┌── .env.sample                 # Sample .env file loaded into process.env├── docker-compose.yml          # Auxiliary services such as postgresql via docker├── knexfile.js                 # Configuration for knex.js├── migrations/                 # Database migrations. See below for more info├── seeds/                      # Database seeds. See below for more info├── tests/                      # Integration tests using supertest├── sqlite3/                    # SQLite3 database location└── src/    ├── db.js                   # DB instance used by the app and/or models    ├── models/                 # ORM models written in ES6 classes    ├── middleware/             # Custom middleware to be used by modules    ├── modules/                # Route-Controller pair for koa2    │   ├── auth/               # Sample /authenticate module    │   ├── graphql/            # GraphQL    │   └── index.js            # Don't touch this    ├── passport.js             # Passport.js configuration using passport-local    ├── DataLoader.js           # Data fetching layer for GraphQL    ├── schema.js               # GraphQL schema    └── types/                  # GraphQL types

Testing

K2 usesFacebook Jest so you can add adirectory named__tests__ at any level and start writing tests.

Root leveltests directory is reserved for integration tests using supertest.Currently requires you to run the database server via docker-compose: see above.

yarn test                 # Run all tests including unit and integration testsyarn test:unit            # Only run unit tests inside src/ directoryyarn test:integration     # Only run integration tests inside tests/ directoryyarn test:coverage        # Generate coverage report. Also travis default

Deployments

This is a standard Node.js version 8.0+ application. You can deploy it toanywhere you like including, but not limited to:

Now.sh

Deploying to now is super simple if you're using SQLite3 (default). Just run:

now

AWS ElasticBeanstalk

Simply create a version of AWS EB with Node version 8.0.1 and deploy. Ipersonally have travis CI deploy it via aeb script.

  • TODO: Sample.ebextensions/
  • Database is already configured to preferRDS_{HOSTNAME,DB_NAME,USERNAME,PASSWORD} connection information

About

Koa2 API template with passport, GraphQL, flowtype, knex and more.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp