Giter Site home page Giter Site logo

corefan / clearskies_core Goto Github PK

View Code? Open in Web Editor NEW

This project forked from larroy/clearskies_core

0.0 2.0 0.0 6.27 MB

Open source, distributed, secure data synchronization using the clearskies protocol

License: GNU Lesser General Public License v3.0

Makefile 0.01% Shell 0.72% C++ 98.00% Python 1.27%

clearskies_core's Introduction

clearskies_core

Build Status

Open source, distributed data synchronization software using the clearskies protocol.

Protocol description

Status of the project

  • This project is abandoned, but is left here as a reference, especially wrt uvpp, sqlitepp and vector clock management, reasons follow:
  • The protocol should be binary for efficiency.
  • I would use FRP patterns to handle events instead of callbacks.
  • In retrospective using the visitor pattern was a lot of boilerplate.
  • There's Syncthing that while is programmed in go, covers most of my use cases.
  • Early stages of development, there's nothing here for users. Only if you are willing to help and contribute. THIS SOFTWARE IS NOT YET FUNCTIONAL

  • For a functioning synchronization client please go to https://github.com/syncthing

Contributing

We would like you to join and help with development, documentation or graphic design. Please post to the group first to avoid duplicating efforts.

Donate

If you can't dedicate some time to the project you can still give support by donating some money such as Bitcoin to the following address:

18QEEJuR2ACAunMVeAxZ46o4QprxFKyGkw

Or through the bountysource fundraiser

Dependencies

  • boost >= 1.49
  • libboost-test-dev
  • libboost-filesystem (v3)
  • libsqlite3-dev
  • ninja (ninja-build on debian)

You can use one of the scripts/setup_environment... scripts to install the dependencies or as a guide to install the required dependencies manually.

Included dependencies

  • libuv (vendor/libuv)
  • gyp (tools/gyp) WARNING: watch out for interactions with the installed system gyp modules! this can produce errors as the python module search path might use the ones on the system instead of the installed one.

Supported compilers

Development is done with GCC 4.8 and boost 1.54, so far this is the only compiler guaranteed to be able to build the project. (My development machine runs Debian GNU/Linux testing (jessie))

The project is implemented in C++11, the compiler should support the features used from this standard. The following compilers should also work:

  • GCC >= 4.7
  • Visual Studio 2013
  • Clang

Our target is to support the following platforms in order of development effort: Linux, Android, Windows, Mac, iOS.

Build instructions

./build.sh
./test.sh

Status of the project

  • Low level assembling of messages and payload completed
  • Implementing the CS protocol
  • Integrating required libraries
  • Implementing share infrastructure

Discussion group

https://groups.google.com/forum/#!forum/clearskies-dev

clearskies_core's People

Contributors

larroy avatar cachapa avatar detunized avatar jewel avatar cseed avatar alexchamberlain avatar marclaporte avatar

Watchers

 avatar  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.