Donghyeon Hwang edited this page Jan 4, 2019 · 503 revisions

Slack Community

KoaJs Slack

Frameworks

Frameworks, boilerplates and other starter kits using Koa.

Name and description Badges Supports V2
Koalerplate - A simple Koa 2 boilerplate for API's using ES6.
koa-rest-api-boilerplate is a boilerplate for Node.js Koa RESTful API application with Docker, Swagger, Jest, Coveralls, PM2 and Circle CI
Koaton Is the most complete and flexible framework for Koa, It's compatible with koa2 and it's fully written in ES6/ES7, comes with a world class router and a powerfull ORM (CaminteJS). The CLI Tool allows you to easily setup a new project anywhere. Koaton CLI semantic-release js-happiness-style
JollofJSJollofJS - Comes with an impressive, native-friendly ORM and an in-built admin interface for CRUDing Data
egg - Born to build better enterprise frameworks and apps with Node.js & Koa
EggBorn.js - The Ultimate Javascript Full Stack Framework
Cabloy.js - The Ultimate Javascript Full Stack Business Development Platform, based on EggBornJS
thinkjs - Use full ES2015+ features to develop Node.js applications, Support TypeScript.
koa2-react - A boilerplate Koa2 with React frontend using MVC pattern and examples of most necessary features
hekdi - Dependency Injection for node.js integrated with popular Koa.js framework
ThinkKoa - Embrace Node.js 8 & koa2. A lightweight, scalable web framework, based on koa.
koahub - KoaHub.js -- Based on Koa platform Node web rapid development framework (Use es6/7)
koahub-cli - KoaHub-cli -- automatically compile Babel ES6/7 and automatic restart after file modification
koa-mvc - Koa v2 MVC framework, similar to sails.js
js-api - JavaScript/JSON objects to REST API in seconds.
EasyNode is a framework for microservice written with es6 and integrated a light web service based on koa and a light tcp service based on native socket. You can utilize all feature characters of ES6 in the framework.
koa.io realtime web framework, built on Socket.IO
api-boilerplate - an API application boilerplate
koa-generator - Koa' application generator just like express-generator(support 1.x && 2.x)
koa-gen - Express liked generator with standard style and gulp-nodemon (Koa v1.x & v2.x)
koala - a more feature-rich version of Koa, including many middleware and utilities
koa-plus - Koa with added features (similar to koala) - optimized for building secure, scalable APIs
koan - Full stack JavaScript Web development boilerplate with Koa and Angular
component-boilerplate-koa - component + koa boilerplate
opinion - Koa, and some modules so you can just start building
cottage - Simple, fastest microframework based on Koa
koa-mvc - Opinionated and minimalist MVC generator
surface - A tiny middleware of RESTful API for koa
koanect - A bare minimum framework that allows your web app to run standalone or to be packaged and included in other koanect apps
roo – jump-start your web app with a thin layer on top of koa to reduce initial boilerplate
resourced - A resource-oriented DSL for configuring koa
kona - a modular MVC framework and middleware stack built on koa
trek - Next generation full-stack JavaScript open source solution, based on Koa
kaio - A minimalist middleware to get started faster with Koa
koa-starter - A simple Koajs application starter template that includes controller, router, and view
baxel - Baxel is a MVC web framework build on top of Koa framework
strapi - Strapi allows you to build powerful back-end on top of Koa with no effort
Paloma - An angluar-like MVC framework
Kless - A framework inspired by FaaS, based on koa.
koa-socket - Attaches socket.io to koa and allows koa-style middleware for sockets
koa-socket2 - Attaches socket.io to koa2 and allows koa2-style middleware for sockets npm
koa2-boilerplate - A minimal boilerplate of koa v2.
koa2-api-boilerplate - API-only (RESTful) boilerplate for Koa v2 with ES6-syntax & other.
koa2-starter-example - A starter for koa v2 with couchbase
koa-skeleton - Front end skeleton with koa backend
node-koajs-rest-skeleton - A simple Koajs 2.5 Application REST Skeleton (Koa v1.x & v2.x). Kubernetes-ready
Gracejs - A Nodejs SFB(Separation of Front and Back ends) framework, build with koa.(基于koa的标准前后端分离框架)
koa2-kickstarter - An opinionated boilerplate for koa v2 with batteries included.
Pikachu - A Koa2 app boilerplate.
lorem-koa - a CRUD application built with Koa.
javascript-boilerplate - Node.js+Koa.js+PostgreSQL+React.js+Webpack+Mocha+Makefile, a starter kit for new apps.
micro-koa - Creating microservices with koa inspired by zeit/micro
koa-sample-web-app-api-mysql - Koa Sample App (handlebars templating + RESTful API using MySQL)
koa-rester - Deploy RESTful APIs from presistence layer models
myKoa - myKoa (our myKoa V2 Frameworks)
koa-vue-notes-api - A fleshed-out SPA using Koa 2.3 on the backend and Vue 2.4 on the frontend. Includes fully featured user-authentication components, CRUD actions for the user's notes, and async/await.
koa2-es2017-api-boilerplate - 🚀 Unopinionated Rest API boilerplate using Koa2 & ES2017+ with Jest for testing and ESLint for linting
koa2-starter-kit - Another Koa2 Starter Kit, utilizing Camo.js ODM and validate.js for validation
ibird - A lightweight and flexible web development framework.✨🚀✨
koa2-api-boilerplate - Koa2, Knex, es6-error, Gulp, ApiDoc, ESLint, koa-validate, JWT.
node-typescript-koa-rest - KOA2, typescript, logging and JWT. TypeORM with class-validator, SQL CRUD. Docker included. Valuable README.
koa-restful-boilerplate - Koa 2 RESTful API boilerplate
koa-api-starter - A starter kit for building Koa.JS based restful api
koa-rest-generator - A Koa RESTful API Generator
Atlas.js - A component-based library to reduce boilerplate and provide sane project structure 🍻

Middleware

Known middleware for Koa, you may want to search npm with "koa" to find more.

Koa v2 will try to convert legacy middleware for you, thus many in the lists below might just work out of the box. See Readme.md for more information about legacy middleware usage in Koa v2.

Name and description Supports v2 Downloads
koa-connect - mount Express/Connect middleware
koa2-validation - A koa2 middleware to validate the request with Joi
koa-router-joi-validator - Middleware for easy validation using simple JSON schemas (using Joi)!
koa-exception - Exception Handler Middleware Base on Koa@1.x
koa-webpack - Development and Hot Module Reload Middleware for Koa2. Simple setup and use. Composes webpack-dev-middleware and webpack-hot-middleware.
koa-webpack-middleware - webpack-dev-middleware for koa2 with HMR (Hot Module Replacement).
koa-hello-world - Koa 'Hello World' middleware, useful for testing
koa2-request-middleware - Koa2 request middleware, useful for get or post other datas
grant - OAuth middleware
kcors - CORS middleware
koa-slow - delay answering requests by URL RegExp, useful for debugging.
koa-force-ssl - Middleware for force SSL
koa-cluster - clustering and error handling utility
koa-polyfills - user-agent based polyfill bundle serving
koa-polyfill-service - user-agent based polyfill bundle serving; based on polyfill-service
koa-sub-domain - middleware to handle multilevel and wildcard subdomains
koa-isbot - middleware detect bot crawler -
koa-toobusy - Toobusy middleware for koa.
koa-handle-error - Error handler Middleware for Koa@2.x.
koa-restql - Build RESTful API with single line of code. -
koa-response-handler - Lightweight response handling middleware for KoaJS -
koa-proxies - Http Proxy Middleware for Koa@2.x.
koa-better-http-proxy - Proxy middleware for Koa. Based on villadora/express-http-proxy
koa2-simple-proxy - Simple Http Proxy Middleware for Koa@2.x.
koa-oembed - oEmbed middleware for koa
koa-jsonrpc - Json-RPC 2 middleware implementation on Koa v2
koa-superstruct - Use the superstruct data validation library as middleware for your koa app.
koa-sse-stream - A sse(server side event) middleware use stream model

Security

Name and description Supports v2 Downloads
koa-helmet - security headers for koa
koa-ip-filter - Middleware for koa that filters IPs against glob patterns, RegExp, string or array of globs using ip-filter and micromatch. Support custom 403 Forbidden message and custom ID.
koa-ip - Ip filter middleware for koa, support whitelist and blacklist
koa-authz - ACL, RBAC, ABAC authorization middleware based on Casbin
koa-acl - ACL middleware for koa
koa-rbac - Role-Based Access Control for koa
koa-rbac-mongo - Save the rbac rules to mongodb for dynamic rbac setup and check.
node-security-voters - ACL voters
koa-protect - Security module for koa applications

Body Parsing

Name and description Supports v2 Downloads
koa-body - parse http request body
hal-body - parse hal+json request body
koa-parse-json - parse JSON request body
koa-better-body - :sparkles: Full-featured koa body parser! :star2: Support parsing text, buffer, json, json patch, json api, csp-report, multipart, form and urlencoded bodies. Works for koa@1, koa@2 and will work for koa@3 with koa-convert. :sparkles:
koa-bodyparser - a body parser for koa, base on co-body
koa-multer - handling multipart/form-data for koa
multy - handle in memory multipart/form-data
koa-busboy - handling multipart/form-data for koa v2
formidable-upload-koa - handling multipart/form-data especially for file upload based on the famous formidable parser
koa-json-body - parse JSON http request bodies
koa-xml-body - parse xml http request bodies
bodyreceiver - A request body receiver & parser middleware for Koa@2+
koa-body-clean - Koa middleware for auto cleanup files created to disk by multipart middlewares

Parameter Validation

Name and description Supports v2 Downloads
koa-better-router - Stable and lovely router for koa, using path-match. Foundation for building powerful, flexible and RESTful APIs easily.
koa-rest-router - Most powerful, flexible and composable router for building enterprise RESTful APIs easily!
koa-input - parameter(support query, params, body and headers etc.) validate middleware for koa
koa-validate - parameter validate middleware for koa
koa-scheme - parameter validation middleware for koa
koa-router-validator - Validator middleware for koa-router
koa-router-schema - Schema validate middleware for koa-router
koa-context-validator - A robust context validator for koajs. Use Joi behind the scenes.
koa-joi-swagger - Using joi schema to validate request & response, and generate swagger document to create beautiful API documents.

Rate Limiting

Name and description Supports v2 Downloads
ratelimit - rate limiting middleware
koa-better-ratelimit - support black/white lists, Retry-After header, 429 status, in-memory store.
koa-ip-filter - Middleware for koa that filters IPs against glob patterns, RegExp, string or array of globs using ip-filter and micromatch. Support custom 403 Forbidden message and custom ID.
rate-limiter-flexible - limit requests rate by key and protect against DDoS and brute force attacks at any scale in process Memory, Cluster or PM2, Redis, Memcached, MongoDb, etc

Vhost

Name and description Supports v2 Downloads
koa-vhost - vhost middleware
koa-virtual-host - name-based virtual host middleware
koa-sub-domain - middleware to handle multilevel and wildcard subdomains
koa-subdomain - middleware to handle multilevel and wildcard subdomains

Routing and Mounting

Name and description Supports v2 Downloads
corie-router - Better configure each route for koa or express
koa-architect - Automates mounting and routing
koa-better-router - Stable and lovely router for koa, using path-match. Foundation for building powerful, flexible and RESTful APIs easily.
koa-bestest-router - Not complicated. No mutable state. Less than 100 lines of code.
koa-rest-router - Most powerful, flexible and composable router for building enterprise RESTful APIs easily!
koa-mount - mount koa applications as middleware
koa-route - uber simple routing middleware
koa-routing - routing middleware
koa2-routing - Multiple files define route & Multiple front middlewares.Support redirect.
koa-router - RESTful resource router
koa-radix-router - Radix based routing, like koa-router but more faster
koa-directory-router - Directory RESTful resource router
koa-frouter - File as path
koa-rewrite - url rewriting middleware
koa-repath - A more flexible URL rewriting middleware for koa
koa-tree-router - high performance router for Koa
koa-trie-router - Trie-based routing
koa-params - Express style params support for koa-route.
koa-methodoverride - HTTP method overriding middleware
koa-overwrite - Overwrites request.method with forms _method.
koa-qs - nested query string support
kroute - Simple, self-contained koa routes and applications
koa-dispatch - Hybrid Koa router with multiple handlers and param support.
koa-barista - routing middleware based on the strong barista router.
koa-joi-router - Configurable, input and output validated routing for koa
koa-version - Mounting app by version to different router.
koa-version-router - Automatic version for router.
koa-ovenware - Automatic Model / Controller Loader for Koa
koa-sub-domain - middleware to handle multilevel and wildcard subdomains
koa-forward-request - Forward request for koa.
impress-router - port Express router to koa
impress-router-table - Sails.js like routing for koa.js
koa-simple-router - Simple and fast REST routing middleware (koa 2.x ready)
koa-66 - Router for koa v2
koa-react-router - koa 2 middleware for React server side rendering and routing with react-router
koa-dec-router - An ES6 decorator + class based router, support inherit, override, priority, auto load controllers, etc. Using koa-router under the hood.
koa-oai-router - Koa Router, based on OpenAPI, Swagger and Json Schema.
koa-minimal-router - 🏅Yet another minimal router for koa.

Documentation

Name and description Supports v2 Downloads
koa-docs - Koa middleware for automatically generating and serving API documentation
koa-joi-swagger - Using joi schema to validate request & response, and generate swagger document to create beautiful API documents.

File Serving

Name and description Supports v2 Downloads
koa-better-serve - Small, simple and correct serving of files, using koa-send - nothing more.
koa-serve - Koa middleware for serving static files
koa-send - a send file utility
koa-sendfile - a barebone send file utility
koa-static - static file serving middleware
koa-file-server - static file serving with additional features like etag and SPDY Push support
koa-static-server - Static file serving middleware for koa with directory, rewrite and index support
koa-static-cache - static file serving from memory
koa-spa - Single page app server build upon static-cache
koa-favicon - bounce favicon requests with a 404
koa-favi - connect.favicon like middleware default use node logo
koa-broccoli - a broccoli server (w/ livereload)
koa-combo - combine your static files at serverside and reduce number of HTTP requests in a flexible way
koa-watchify - Wraps a browserify or watchify instance into a koa middleware
koa-serve-static - Serve static files, based on Express's serve-static
koa-serve-list - Serve directory listings for koa, based on Express's serve-index
koa-stream - a send file utility supporting range request
koa-static-folder - Serve static files using a folder
koa-static2 - Middleware for Koa2 to serve a folder with Babel
koa2-serve-index - A Koa2 middleware serves pages that contain directory listings for a given path, based on Express's serve-index
koa-accept-webp - Koa middleware for serving webp images when support is detected

SPDY

Name and description Supports v2 Downloads
koa-file-server - static file serving with additional features like etag and SPDY Push support

HTTP2

Name and description Supports v2 Downloads
koa-server-push - Specifically for adding HTTP2 Server Push headers for HTTP2 clients and proxies such as Google App Engine

JSON and JSONP Responses

Name and description Supports v2 Downloads
koa-jsonp - streamable jsonp support
koa-response-jsonp - koa jsonp middleware
koa-json-filter - json response filtering to reduce traffic
koa-json-mask - json response filtering to reduce traffic. Supports filtering at any depth
koa-json - pretty-printed json responses
koa-hal - hal+json response support
koa-jsonapi-headers - Validate JSON-API Request Headers

Compression

Name and description Supports v2 Downloads
koa-compress - compression middleware
koa-compressor - SPDY/HTTP2 compression middleware (always gzips)
koa-gzip - gzip support for koa responses
kompression - forked of koa-compress with support for brotli compression
koa-minify - minify middleware for js, css, html and img
koa-uglify2 - uglify middleware for js with caching

Caching

Name and description Supports v2 Downloads
koa-cache-lite - Zero-dependency koa router cache
koa-fresh - HTTP response freshness testing middleware base on node-fresh
koa-etag - etag support for koa responses
koa-conditional-get - conditional GET support
koa-cash - response caching
koa-router-cache - Router cache middleware for koa

Authentication

Name and description Supports v2 Downloads
koa-basic-auth - simple user/pass basic auth
koa-passport - Passport middleware for Koa
koa-jwt - JWT (JSON Web Tokens) verification
koa-jwt-mongo - Deal with JSON-web-token in mongodb
koa-user - simple user module with tokens
koa-statelessauth - custom validation based on Authorization header
koa-bearer-token - Bearer token parser middleware for koa
koa-police - Policy based authentication library for Koa
koa-weixin-token - Weixin token services for koa
koa-http-auth - simple HTTP auth, including Basic auth & Digest auth

Sessions

Name and description Supports v2 Downloads
koa-session - cookie-based session middleware, also supports external session stores
koa-session-redis - drop-in replacement for koa-session
koa-session-redis3 - drop-in replacement for koa-session and koa-session-redis Deprecated in favor of koa-redis (same features)
koa-csrf - CSRF tokens
koa-session2 - Middleware for Koa2 to get/set session use with custom stores such as Redis or mongodb
koa-generic-session - connect-like session middleware
koa-session-minimal - a Koa 2 rewrite of koa-generic-session, support its core functionalities and stores
koa-redis - redis session store base on koa-generic-session
koa-session-mongodb - drop in replacement for koa-session based on Object.observe
koa-mongodb-session yieldable mongodb session modifications
koa-session-dynamodb-store - extension of koa-session that uses DynamoDB as session store.
koa-level - LevelDB session store for koa-generic-session
koa-flash - flash messages for koa-session
koa-flash-simple - Stupidly simple flash messages for koa v2
koa-flash-message - Flash Messages Middleware for Koa V2
koa-hazelcast - Hazelcast storage for koa generic session middleware

Templating

Name and description Supports v2 Downloads
koa-locals - local variables for templates render, use of ctx.state instead of ctx.locals
koa-bel - Simple javascript views without dependencies, built to be used with bel, but will also work with yo-yo or even just plain JS files returning a stream
koa-views - Render your views with almost any templating engine
koa-ejs - Focus on ejs and support full feature include layout, filters, locals, include.
co-ejs - koa ejs view render middleware.
koa-dom - server-side dom templating
koa-swig - Focus on swig, support tags, filters, and extensions.
koa-swig-render - Focus on swig, used as a middleware.
koa-hbs - Express-style Handlebars view rendering.
koahub-handlebars - Handlebars view rendering, Use async/await
koa-jade - a Jade middleware for Koa
koa-handlebars - Handlebars view rendering
koajs-nunjucks - Nunjucks view rendering
koa-view - Nunjucks view rendering
koa-pug - a Pug (renamed Jade) middleware for Koa
koa-artpl - koa artTemplate engine
koa-nunjucks-next - Nunjucks view rendering, support asynchronous filters, render raw string
koa-xtpl - A node.js wrapper around xtemplate engine (easier for Koa 2)
koa-nunjucks-async - A Koa@2 middleware for rendering Nunjucks templates. Uses Node's native async/await, and util.promisify. Also exposes ctx.state to rendered templates
koa-vue-view - A Koa view engine which renders Vue components on server image
koa2-jsx - JSX rendering using server-side React methods, with Redux support to set templating data from context. Can be used to create universal application.

Services

Name and description Supports v2 Downloads
koa-pg - Handle your Pg database connections automatically.
koa-mongo - MongoDB middleware for koa, support connection pool.
koa-redis-pool - Redis middleware for koa, support connection pool.
koa-waterline koa middlware for your waterline orm
koa-pgp koa middlware that speaks pgp
koa-redisy koa wrapper for co-redis, which is a wrapper for node-redis
rethinkdbdash - RethinkDB driver with promises and a connection pool.
component-koa - koa middleware for component builds
koa-pagination - Handle Range Pagination Headers using Range & Content-Range entity-headers.
koa-graphql - Koa middleware for creating a GraphQL HTTP server.
koa-graphiql - Koa middleware for serving a GraphiQL IDE.
koa-mongoose - mongoose middleware for koa
koa-orm - koa orm using sequelize & squel

CSS Preprocessor

Name and description Supports v2 Downloads
koa.sass - Koa@2 middleware for processing sass files.
koa-stylus - Stylus middleware for Koa
koa-less - LESS middleware for Koa
koa-lessie - LESS middleware (lighter implementation)
koa-myth - Wraps a myth or rework instance into a koa middleware
koa-scss - SCSS middleware for Koa
koa-postcss - PostCSS middleware for Koa

Livereload

Name and description Supports v2 Downloads
koa-livereload - koa middleware for adding livereload.js

Error reporting

Name and description Supports v2 Downloads
koa-error - text, json, html error responses with swig template support
koa-json-error - error handler for pure-JSON apps
koa-errorhandler - Error handler middleware for koa.
http-assert - assert with status codes
koa-error-ejs - text, json, html error responses with ejs template support
koa-notifier - Wrap node-notifier for koa, cute for test.
onerror - an error handler for koa, hack ctx.onerror
koa-error-slack - Send Koa errors to Slack

Logging

Name and description Supports v2 Downloads
koa-logger - development style logger
corie-logger - A log factory for Koa2
concurrency-logger - logging requests concurrently and in context
koa-mongolog - logging http queries to MongoDB
~~koa-mongodb-logger - log and profile Koa requests to MongoDB~
koa-log4js - log4js logger middleware for koa
koa-log4 - a wrapper for log4js-node which supports koa middleware
koa-request-id - Add a request id
koa-bunyan - Using node-bunyan as koa logging middleware
koa-bunyan-logger - Koa middleware for bunyan request logging
koa-json-logger - HTTP Request/Response/Error JSON format logger
koa-logger2 - Apache like (combined) logging for koajs
koa-raven - Raven middleware for koa
koa-morgan - Morgan for koa
koa-winston - Winston wrapper for koa
koa-slowlog - slowlog for koa, based on co-slowlog
koa-yield-breakpoint - Add breakpoints around yield expression especially for koa@1
koa-logtown - The middleware is very similar to koa-logger, but console.log was replaced with logtown method calls

Metrics

Name and description Supports v2 Downloads
koa-statsd - statsd integration
koa-response-time - x-response-time header field middleware
koa-ping - ping and health route for app status check
koa-monitor - Realtime monitoring for koa-based Node applications

Analytics

Name and description Supports v2 Downloads
koa-analytics - easily add analytics to your koa app

i18n or L10n

Name and description Supports v2 Downloads
koa-locale - Get locale variable from query, subdomain, accept-languages or cookie
koa-i18n - Lightweight simple translation middleware based on i18n-2

Response Transformation

Name and description Supports v2 Downloads
koa-response-censor - Strip keys from the response body
koa-snake-res - Snake case json response transform middleware for koa
koa-res - Format koa's respond json.

Utilities

Misc utilities that are useful for Koa applications. Note that co lets you yield a variety of types, so existing libraries using promises etc should work fine.

Name and description Supports v2 Downloads
koa-combine-routers - Combine multiple instances of koa-router.
co-punch - Punch old libraries!
cofy - Cofy is a bridge connecting callback style object to sequential style in co or koa environment with one punch.
koa-compose - compose several middleware into one
koa-convert - convert koa legacy ( v0.x & v1.x ) generator middleware to promise middleware ( v2.x )
shen - Shen is underscore for generators
koa-aspect - AOP for Koa.
co libraries - thunk-based libraries that work with Koa -
koa-add-to-context - middleware to add all enumerable keys to the context of each request
koa-use - Overwrite koa's use(), add Array support.
koa-ignore - Conditional wrapper around koa-compose.
koa-pass - Conditionally skip a middleware when a condition is met.
koa-useragent - Fast Middleware exposing user-agent.

Aggregates

Aggregate modules make including common suites of middleware in your application(s) easier. This mimics the convenience of Connect's bundled middleware without forcing them on people.

  • common - mount, logger, response-time, static
  • opinion - my opinion on what's needed to get started

Applications

Application list using Koa.

  • cnpmjs.org - Private npm registry and web for Enterprise, base on koa, MySQL and Simple Store Service.
  • icp.c.163.com - A full stack development practice, base on koa, react, MySQL,nos and redis Store Service.
  • component-crawler - component.json crawler
  • DailyNode - A complete, timely aggregator of node things: blog, tutorial, video, npm, tool, framework, conf.
  • Badgelino - Very much work in progress. Fast, extensible badges server. Badges done right. Routes done right.
  • Booooring.com - Soundtrack of you office. Using streaming to send small mp3 files smoothly.
  • N-club - A simple forum.
  • LaTeX Base - Cloud LaTeX editor with offline support and live preview.

Screencasts

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.