smoker synchronization tool

slurp 2ba5a7bceb Make README.md cool 6 years ago
data c1c477b51f Added rough markup for Gtk. 6 years ago
src 36b42d4248 server: only one connection per ip allowed 6 years ago
.gitignore 1e8433d301 Tell git to ignore glade autosave files. 6 years ago
README.md 2ba5a7bceb Make README.md cool 6 years ago
client.py 9606e0bd81 client: transmit correct bool-values in resources 6 years ago
meson.build fc1bc3e397 Added Gtk as dependency 6 years ago
meson_options.txt d3730baf2b build: build documentation 6 years ago
servertest.py ac4f478558 addendum to latest commit 6 years ago

README.md

nico

Advanced Smoker Syncronisation Protocol

With nico you syncronize your nicotin-ballance with others. It's based on the AASP (advanced smoker synchronisation protocol).

To understand stuff you should take about 5 minutes and read this.

Getting started

First clone the git repository to your local machine:

git clone git@github.com:grindhold/nico.git

To build the binaries we use the meson build system (more information).

Install meson:

sudo apt install meson

Install nico dependencies:

sudo apt install libglib2.0-0 libjson-glib-1.0-common libgirepository1.0-dev libgtk-3-0 gir1.2-gtk-3.0

Create build directory and prepare files:

cd nico
mkdir build
meson build

Compile:

cd build
ninja

Now there should be a clientapp and a server in your /build directory. You can run them by typing ./server.

Recompiling is easy: ninja

Client and Server

This is kinda short. If you really want to know it, read this and take a look at the servertest.py.

Server

The server holds information about all sessions and updates each client.

Client

The client can create smoking sessions, join them and leave them. The join and create request tells the server your resources (tabak, filter, papes, lighter).