2026-10-06 15:58:02 +02:00
|
|
|
# Kokkoja
|
|
|
|
|
|
|
|
|
|
Kokkoja lets people at different computers write together on a shared
|
|
|
|
|
page, by hand or by typing, with every page saved automatically to each
|
|
|
|
|
person's own notebook. It runs in a web browser beside a video call and
|
|
|
|
|
replaces the call's screen sharing and annotation. It was made first for
|
|
|
|
|
teaching a foreign language over a video call, and it serves any work
|
|
|
|
|
that two or more people would otherwise do over one sheet of paper.
|
|
|
|
|
|
2026-10-10 19:01:20 +02:00
|
|
|
Kokkoja is free software under the GNU General Public License, version
|
|
|
|
|
3 or later: see [LICENSE.md](LICENSE.md), which also says how the name
|
|
|
|
|
may be used.
|
2026-10-06 15:58:02 +02:00
|
|
|
|
|
|
|
|
## Documentation
|
|
|
|
|
|
2026-10-13 20:41:54 +02:00
|
|
|
The user documentation (an introduction, Kokkoja in five minutes, a
|
|
|
|
|
guest's Kokkoja, a host's Kokkoja, and how Kokkoja works) is being moved
|
|
|
|
|
to a new format and is not in this repository at the moment. It will
|
|
|
|
|
return with a later release.
|
2026-10-06 15:58:02 +02:00
|
|
|
|
|
|
|
|
## In short
|
|
|
|
|
|
|
|
|
|
A guest needs nothing but a web browser: open the invitation link, enter
|
2026-10-11 16:59:03 +02:00
|
|
|
a name, join. A host can start a session from the same web site,
|
2026-10-13 20:40:09 +02:00
|
|
|
`https://app.kokkoja.com/`, with the notebooks kept in the
|
2026-10-11 16:59:03 +02:00
|
|
|
browser.
|
2026-10-06 15:58:02 +02:00
|
|
|
|
2026-10-11 16:59:03 +02:00
|
|
|
A host who wants notebooks as files needs Python 3 and this directory:
|
2026-10-06 15:58:02 +02:00
|
|
|
|
2026-10-13 20:40:09 +02:00
|
|
|
python3 kokkoja.py --relay wss://app.kokkoja.com/relay
|
2026-10-06 15:58:02 +02:00
|
|
|
|
|
|
|
|
opens Kokkoja in the browser; *Start a session* gives an invitation to
|
|
|
|
|
send to the guests. Notebooks are directories in `Kokkoja` in the
|
|
|
|
|
Documents directory.
|
|
|
|
|
|
|
|
|
|
## What is here
|
|
|
|
|
|
|
|
|
|
* `kokkoja.py`: the local program, which serves the client to your
|
|
|
|
|
browser and keeps your notebooks as files. Python standard library
|
|
|
|
|
only.
|
|
|
|
|
* `client/`: the client, plain JavaScript modules run by the browser as
|
|
|
|
|
written.
|
|
|
|
|
* `relay/`: the relay server, Python with the `websockets` library.
|
|
|
|
|
* `deploy/`: how a Kokkoja server is set up (relay plus web site).
|
2026-10-10 19:01:20 +02:00
|
|
|
* `tests/`: the tests (`python3 -m unittest discover tests`); the
|
|
|
|
|
end-to-end test needs Firefox and geckodriver, and the QR code's test
|
|
|
|
|
needs Node.js and `pip install -r tests/requirements.txt`.
|
|
|
|
|
* `LICENSE.md`: the license.
|