Never-ending animated GIFs as a chat system
JavaScript
Pull request Compare This branch is 122 commits ahead of nko4:master.
Latest commit 0203ce2 Oct 7, 2014 @twolfson Release 0.38.1
Permalink
Failed to load latest commit information.
bin Removed all console.logs from server and relocated to `bin` Nov 21, 2013
public Moved to local GitHub ribbon Nov 10, 2013
server Removed all console.logs from server and relocated to `bin` Nov 21, 2013
test Removed timeouts from tests and fixed up require paths Nov 20, 2013
views Updated fork link Oct 7, 2014
.gitignore Generating proper gif =3 Nov 17, 2013
.travis.yml Added fix for `npm` in Travis CI Oct 7, 2014
CHANGELOG.md Release 0.38.1 Oct 7, 2014
Gruntfile.js Moved to local GitHub ribbon Nov 10, 2013
README.md
UNLICENSE Added UNLICENSE Nov 10, 2013
package.json Release 0.38.1 Oct 7, 2014

README.md

gifsockets-server Build status

GIFSockets are never-ending animated GIFs for sending text and images between people.

Demo: http://gifsockets.twolfson.com/

gifsockets-server is a reimplementation of videlalvaro/gifsockets. It was written in Clojure and not trivial to set up, especially without any Clojure experience.

This project is written in JavaScript and use gif-encoder for encoding and PhantomJS for canvas preparation.

To run this website locally:

npm install -g gifsockets-server phantomjs-pixel-server
phantomjs-pixel-server &
gifsockets-server
# Website will be available at http://localhost:8000/

Documentation

This code was written during Node Knockout 2013, a 48 hour hackathon, but it is slowly being organized.

The server you are running is at server/app.js and the gif logic is inside of lib.

Modules which are part of this project include:

Development

Dependencies

Server-side dependencies are managed with npm and client-side dependencies are managed with grunt. To install the latest dependencies

npm install
# npm http GET https://registry.npmjs.org/marked
# npm http GET https://registry.npmjs.org/express
# ...

grunt install
# Running "curl-dir:public/js/" (curl-dir) task
# Files "public/js/filereader.js", "public/js/filereader.min.js", "public/js/jquery.js" created.
# ...
# Done, without errors.

If you never used grunt before, install the CLI tool via

npm install -g grunt-cli

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint via grunt and test via npm test.

Donating

Support this project and others by twolfson via gittip.

Support via Gittip

Unlicense

As of Nov 10 2013, Todd Wolfson has released this repository and its contents to the public domain.

It has been released under the UNLICENSE.