Skribble

What is it?

Skribble tries to be a collaborative app made with Qt. At most two users can draw on the same canvas. It was made as part of an assignment at our University.

Download

There is a binary release available for Windows here.

Usage

Starting ./Skribble gives you the single user mode of the app, a normal painting app as you expect.

Starting ./Skribble -s starts the app and the server, which clients can connect to with ./Skribble -c <ip> where ip is, in theory, one's public IP. In practice, there is no way to connect over the network if the IP is dynamic or for other reasons we don't know. For sure is, to test the app in collaborative mode you can do ./Skribble -s from one terminal and ./Skribble -c 127.0.0.1 from another terminal which connects to the local host, thus emulating a two user scenario.

Build

The straightforward way:

mkdir build && cd build
cmake -DCMAKE_PREFIX_PATH=/path/to/Qt/5.x.x/lib/cmake \
      -DCMAKE_BUILD_TYPE=Release \
      ..
cmake --build .

For development:

# Other than above parameters
cmake -DENABLE_SANITIZER_ADDRESS=ON \
      -DENABLE_SANITIZER_UNDEFINED=ON \
      -DBUILD_TESTS=ON \
      ..

Obviously Qt5 needs to be installed.

To run the tests go in the build folder and run: ctest -V