• This repository has been archived on 09/Aug/2019
  • Stars
    star
    136
  • Rank 258,049 (Top 6 %)
  • Language
    C++
  • License
    GNU Lesser Genera...
  • Created over 10 years ago
  • Updated about 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

More Repositories

1

uvpp

C++11 libuv wrapper
C++
175
star
2

mycelium

An open source information retrieval system written in C++11 and Python. Aspires to be an alternative to Nutch / Lucene. It uses MongoDB as an storage engine.
C++
84
star
3

Dive-into-C--11

Book to describe the C++11 features
Python
52
star
4

osmcompiler

A framework in Python to process OpenStreetMap data
Python
44
star
5

deployingScalaLibrariesToSonatype

Deploying scala libraries to central for dummies
23
star
6

wget2

A wget replacement written in Python3
Python
14
star
7

yfinanceng

Yahoo! Finance next gen python 3 / pandas market data downloader
Python
9
star
8

urlcpp

A cross platform C++ URL parser and normalizer aiming to be RFC3986 correct
C++
7
star
9

ec2_launch_scripts

A nifty set of scripts to launch ec2 instances for development. Uses boto and Ansible to provision.
Vim Script
4
star
10

pbs

pbs python utility focusing on stability and added win32 support
Python
3
star
11

milight

scala milight / limitless led library
Scala
2
star
12

mobac

Mobile atlas creator (mirror)
Java
2
star
13

varint-scala

Varint encoding in Scala
Scala
2
star
14

powerwall_mqtt

Tesla Powerwall to MQTT
Python
2
star
15

SLF4J_Akka_logging_adapter

SLF4J to Akka logging adapter, compose classes and traits using Slf4j logging into Akka actors with Akka native logging
Scala
2
star
16

gsync

2
star
17

fierro-rs

A NoSQL database written in Rust
Rust
2
star
18

sudoku

A sudoku puzzle solver based on depth-first search
C++
1
star
19

fusearch

A console full text search engine for PDF collections.
Python
1
star
20

avro_python3

Apache avro module for python3
Python
1
star
21

sqlite3pp

Improved sqlite3pp, a lightweight clean C++ sqlite3 wrapper
C++
1
star
22

spark_tutorial

Spark / FP tutorial
HTML
1
star