All Projects → named-data → ChronoChat

named-data / ChronoChat

Licence: other
A simple but interesting demo to visualize how ChronoSync library works

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to ChronoChat

Gcr.io
🌀 sync the docker images of the gcr.io and quay.io
Stars: ✭ 200 (+1150%)
Mutual labels:  sync
Sync
JSON to Core Data and back. Swift Core Data Sync.
Stars: ✭ 2,538 (+15762.5%)
Mutual labels:  sync
Plex Sync
🎬 Command line utility for synchronizing Plex Media Server watched / seen status between multiple servers
Stars: ✭ 239 (+1393.75%)
Mutual labels:  sync
Sync
deprecated Brave sync server. (sync now uses a fork of the Chromium sync protocol.)
Stars: ✭ 208 (+1200%)
Mutual labels:  sync
Vuex Easy Firestore
Easy coupling of firestore and a vuex module. 2-way sync with 0 boilerplate!
Stars: ✭ 224 (+1300%)
Mutual labels:  sync
Realm Cocoa
Realm is a mobile database: a replacement for Core Data & SQLite
Stars: ✭ 14,778 (+92262.5%)
Mutual labels:  sync
Amazonriver
amazonriver 是一个将postgresql的实时数据同步到es或kafka的服务
Stars: ✭ 198 (+1137.5%)
Mutual labels:  sync
client-side-databases
An implementation of the exact same app in Firestore, AWS Datastore, PouchDB, RxDB and WatermelonDB
Stars: ✭ 787 (+4818.75%)
Mutual labels:  sync
S3sync
Really fast sync tool for S3
Stars: ✭ 224 (+1300%)
Mutual labels:  sync
To Do
一个无后端待办事项应用,数据用 LeanCloud 进行同步。
Stars: ✭ 238 (+1387.5%)
Mutual labels:  sync
Deck
decK: Configuration management and drift detection for Kong
Stars: ✭ 211 (+1218.75%)
Mutual labels:  sync
Redissyncer Server
RedisSyncer是一个多任务的redis数据同步工具,可灵活的满足Redis间的数据同步、迁移需求; redissyncer is a redis synchronization tool, used in redis single instance and cluster synchronization
Stars: ✭ 216 (+1250%)
Mutual labels:  sync
Go Fastdfs
go-fastdfs 是一个简单的分布式文件系统(私有云存储),具有无中心、高性能,高可靠,免维护等优点,支持断点续传,分块上传,小文件合并,自动同步,自动修复。Go-fastdfs is a simple distributed file system (private cloud storage), with no center, high performance, high reliability, maintenance free and other advantages, support breakpoint continuation, block upload, small file merge, automatic synchronization, automatic r…
Stars: ✭ 2,923 (+18168.75%)
Mutual labels:  sync
Seam3
Cloudkit based persistent store for Core Data
Stars: ✭ 207 (+1193.75%)
Mutual labels:  sync
React Scroll Sync
Synced scroll position across multiple scrollable elements
Stars: ✭ 252 (+1475%)
Mutual labels:  sync
Syncmap
A typed implementation of the Go sync.Map using code generation
Stars: ✭ 200 (+1150%)
Mutual labels:  sync
Pull
🤖 Keep your forks up-to-date via automated PRs
Stars: ✭ 3,364 (+20925%)
Mutual labels:  sync
ppa-packaging
Semi-automated script to create binary packages for (multiple versions of) Ubuntu
Stars: ✭ 15 (-6.25%)
Mutual labels:  ndn
React Native Storage
local storage wrapper for both react-native and browser. Support size controlling, auto expiring, remote data auto syncing and getting batch data in one query.
Stars: ✭ 2,822 (+17537.5%)
Mutual labels:  sync
Realmcontent
Light Realm-powered content management system
Stars: ✭ 237 (+1381.25%)
Mutual labels:  sync

ChronoChat

ChronoChat is a multiparty chat application that demostrates our synchronization primitive that we call ChronoSync.

Note that after you click to close ChronoChat, it will keep running on your system tray. To restore it to normal size window, you have to click on the system tray icon (normally on the upper right corner of your screen). Clicking on the dock won't work for now and is still on the to-do list (because I'm using qt for gui, not the native Cocoa framework).

Known Issues

  1. When you switch to a new room, you'll temporarily see yourself in two nodes for a minute or so. It won't affect others, just yourself. Hopefully it's not so disturbing.
  2. Sometimes you may not get the most up-to-date chat history.

Compilation steps

  1. On Ubuntu, configure the NDN PPA repository and install the necessary dependencies

     sudo apt install nfd libndn-cxx-dev libchronosync-dev libboost-all-dev libsqlite3-dev qt5-default
    
  2. Fetch source code

     git clone https://github.com/named-data/ChronoChat
    
  3. Configure and build ChronoChat

     ./waf configure
     ./waf
    

Congratulations! build/ChronoChat is ready to use. Do not forget to start NFD and configure FIB before using ChronoChat. For ease of debugging, you can generate trusted identities in your local TPM using debug-tools/create-cert.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].