Giter Club home page Giter Club logo

orbit's Introduction

Orbit

A distributed, peer-to-peer chat application built on IPFS

NOTE! Currently only the Electron (Desktop) version works. We're working to fix the Browser version (js-ipfs)

Project Status

Status: In active development

NOTE! Orbit is still more or less experimental. Things will change and break over the coming months, but we're pushing towards to stabilize the code base. If you come across problems, it would help greatly to open issues so that we can fix them as quickly as possible.

Check the project's roadmap to see what's happening at the moment and what's planned next.

Project Status CircleCI Status

See also the CHANGELOG for what's new!

If you would like to participate in designing what Orbit is as a product, please join us in Product Design for Orbit issue.

Run

Orbit can be run either in a browser or as a native desktop application. The browser application uses js-ipfs implementation of IPFS. The desktop version uses the go-ipfs implementation of IPFS together with Electron.

Please note that Orbit is not secure at the moment!

Live Demo

http://orbit.libp2p.io/

The live demo is an old version of Orbit. It is recommended to follow the instructions below to run the latest version.

Desktop

git clone https://github.com/haadcode/orbit.git
cd orbit
npm install
npm start

Browser

Chrome is recommended to run Orbit in the browser.

git clone https://github.com/haadcode/orbit.git
cd orbit
npm install
npm start

Development

Requirements

  • Node.js v6.x.x
  • npm v3.x.x
  • g++, gcc, make (for building native modules)
  • python 2 (for building, some native modules need it, node-fibers perhaps?)

Get the source code

git clone https://github.com/haadcode/orbit.git
cd orbit/

Install dependencies

npm install

Run Tests

npm test

Browser app development

NOTE! This is currently not working as described. We're working to fix it.

cd client/
npm install
npm run dev
# This won't work. See bug here: __TODO__

This will open webpack dev-server at http://localhost:8000/webpack-dev-server.

Build

cd client/
npm install
npm run build

This will create client/dist directory which contains all the files needed to distribute the Orbit browser application.

Desktop app development

First, start the desktop app in developer mode:

npm run dev:electron

Then, start the UI development environment:

cd client/
npm install
npm run dev

Build

Run this is in project's root directory, not in client/.

npm run build

The builds are in dist/.

API

We're in the process of separating the core orbit code into its own module and it'll make it possible to use the Orbit API to develop other clients and program using orbit.

See API documentation for full details.

Contributing

I would be happy to accept PRs! If you want to work on something, it'd be good to talk beforehand to make sure nobody else is working on it. You can reach me on Twitter @haadcode or on IRC #ipfs on Freenode, or in the comments of the issues section.

A good place to start are the issues labelled "help wanted" or the project's status board.

License

MIT © 2016 haadcode

orbit's People

Contributors

claus avatar dignifiedquire avatar greenkeeperio-bot avatar haadcode avatar masadeus avatar richardlitt avatar shamb0t avatar

Watchers

 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.