Skip to content

supernomad/chunky

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub license GitHub version Codacy Badge Coverage Status Build Status

NPM

chunkyjs

An async upload/download node library leveraging express.js, which provides chunked transfer api's.

What do we mean by a chunked transfer api? Well, what chunkyjs does is provide an api interface that allows downloading or uploading multiple chunks of a file at the same time. This effectively allows you to multi-thread your applications data transfer logic.

Installation

Installation is the same as any other module.

	npm install chunkyjs

Usage

Basic usage of chunkyjs is as simple as requiring the module and passing it into the expressjs app's use funtion

	var express = require('express'),
		app = express(),
		chunky = require('chunkyjs');
	
	app.use(chunky.chunked());
	app.listen(8080);

Development/Testing

	git clone https://github.com/Supernomad/chunky.git
	cd chunky/
	npm install
	npm install -g grunt-cli
	grunt

Datastore

chunkyjs is currently employing node-cache in order to store transfer specific metadata. This is great for development, however means that chunkyjs in its current state cannot be clustered. Support for clustered datastores is on the way.

TODO

  • Create the front-end client's
    • Need to properly handle downloads in a browser context.
  • Create the node client's

Contributing

We welcome contributions, feel free to fork us and make as many PR's as you would like.

A few guide lines:

  • You should always rebase your branch on our latest master branch before making a PR.
  • We want to maintain a status quo when it comes to the code in chunkyjs. So any PR should satisfy our codacy rules, and maintain the A ranking we currently have.
  • Again to maintain the status quo all PR's should contain unit-tests that test the additional funcationality and/or bug fix(s).
  • Other than that happy coding

About

An async upload/download node library leveraging express.js. Provides standard, and chunked style transfers.

Resources

License

Stars

Watchers

Forks

Packages

No packages published