This section assumes a functional |project| installation for at least one programming language.
.. seealso:: :ref:`install` Installing |project| from source or using a package manager. :ref:`troubleshooting` Solving common problems.
The goal of this section is teaching you how to accomplish some basic and some more advanced tasks using |project|. It is organize into the following parts:
.. toctree:: :hidden: :maxdepth: 1 examples-basic examples-chat examples-converters examples-extension-points
:ref:`Basic Communication <tutorial-basic>`
This first part teaches the basic communication patterns provided by |project|:
:ref:`Building a simple chat system <tutorial-chat>`
This part is concerned with designing and building a slightly more complex system applying the techniques of the first part.
:ref:`Sending and Receiving Custom Data Types <tutorial-converters>`
This part demonstrates sending and receiving of custom (non-builtin) :term:`data types <data type>` using |project| :term:`converters <converter>`.
:ref:`Extending |project| <tutorial-extension-points>`
This final part switches from the user to the developer perspective and shows how new capabilities can be added to |project|.
Note
Depending on your |project| configuration, the following examples may require a running :term:`Spread daemon` for successful execution.
If only a single machine is involved, the :term:`Spread daemon` can be started using the following command:
$ :samp:`{SPREAD_INSTALL_PREFIX}/sbin/spread` -n localhost