Giter Site home page Giter Site logo

koa2-ts-init's Introduction

koa2-ts-init

Typescript fork of koa2-kickstarter. Wondering why Typescript ? Read this post on StackOverflow

Setup

  # clone the repository
  λ git clone https://github.com/mohuk/koa2-ts-init
  # change the current directory
  λ cd koa2-ts-init
  # install all dependencies
  λ yarn
  # run the project
  λ npm run start

Structure

├── README.md           # you're here
├── bin                 # folder that bootstraps the application
├── src                 # contains source files
│   ├── conf            # wraps configurations files
│   ├── controller      # contains all controllers in the application
│   ├── custom-typings      # contains all controllers in the application
│   ├── middleware      # folder with all middlewares
│   ├── route           # wraps all the routes and exports a single composed middleware
│   └── service         # contains all the service logic
└── test                # unit tests

Suggestion: Every folder name is singular like route, middleware instead of routes, middlewares. If you want to add more folders as per your need, make sure they should be singular too (for e.g. util, helper etc) only for the sake of consistency.

Included

  • Koa Well, duh.
  • Koa Router For routing and all.
  • Debug Debug messages in the development environment.
  • Bunyan Extensive logging module.
  • Ava For unit tests.
  • Boom HTTP Errors.
  • Convict Configuration management.
  • Typescript Typed superset of Javascript. Supports ES6/ES7 features.
  • TSLint Linting purposes.
  • Nodemon Restart the server automatically (hot-reloading).

And many more small packages.

Scripts

  • npm start - simply starts the server
  • npm test - execute all unit tests
  • npm run lint - lints all the files in src/ folder
  • npm run lint:fix - fixes all the possible linting errors
  • npm run watch - starts the server with hot-reloading

Suggestion: To turn on debug messages, set DEBUG environment variable to kickstarter:*

Docker

Dockerfile for the project has been packaged. Running instructions are standard and can be found below:

Build

λ docker build -t koa .

Run

# you can set the DEBUG environment variable through -e DEBUG={value} 
λ docker run -dp 4000:4000 koa

koa2-ts-init's People

Contributors

mohuk avatar aitchkhan avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.