Skip to content

bhaskarmelkani/coko

Repository files navigation

coko

license dependencies Status npm npm

coko is a minimal framework built ontop of Koa.

coko provides a conventional approach for building apps using async/await pattern of Koa2. It gives a basic boiler plate for Koa ontop of which you can write your application logic.

coko is inpsired from Sailsjs and keeping the setup minimal and extensible.

Note: Check coko-bean for the example.

coko's feature includes:-

Table of contents

Get Started

Since coko is a convention over configuration framework, it uses a minimal directory structure. coko-bean is there to help you getting started with the structure that is best suited with coko.

git clone https://github.com/bhaskarmelkani/coko-bean.git

  • Go into the directory

cd coko-bean && npm install

  • Start the server

npm start

This command will run a http sever on port 4000, you can configure the port(TODO).

The seed has a test route /user

Open http://127.0.0.1:4000/user.

Whoaaa, this was quick !!!

Roadmap

coko is still developing and is ambitious to get features that should be provided by a minimal framework.

  • Add testing support.(Maybe using Jest)
  • If needed, add support for Expect: 100-continue.
  • Create a config module and provide it in controllers, services and maybe middlewares.
  • For now ejs(using koa-views) is a default templating engine, add support for configuring it.
  • Add support for static file serving.
  • Add configurable security headers for response.
  • Add better error handling.
  • Add support for customizing/adding responses(eg. res.ok(), etc...).
  • Add tracing using koa-trace.
  • Add configurable jsonp support. Check koa-safe-jsonp
  • If required add authentication strategies.
  • Add support for database handling.
  • Add cli for generating seed.
  • Asset(cs/js/image) handling.

Developement and Contributing

Check detailed contributing guidelines.

License

The MIT License (MIT). See full license.