52 lines
2.0 KiB
Markdown
52 lines
2.0 KiB
Markdown
# 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.
|
|
|
|
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.
|
|
|
|
## Documentation
|
|
|
|
* [An introduction](docs/introduction.md): what Kokkoja does and whom it
|
|
is for.
|
|
* [A guest's Kokkoja](docs/guest.md): joining a session from an
|
|
invitation, and the screen.
|
|
* [A host's Kokkoja](docs/host.md): installing the Kokkoja program,
|
|
starting a session, inviting guests, driving the session.
|
|
* [How Kokkoja works](docs/implementation.md): the parts, the encryption,
|
|
the page file, running a server.
|
|
|
|
## In short
|
|
|
|
A guest needs nothing but a web browser: open the invitation link, enter
|
|
a name, join.
|
|
|
|
A host needs Python 3 and this directory:
|
|
|
|
python3 kokkoja.py --relay wss://kokkoja.andykopra.com/relay
|
|
|
|
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).
|
|
* `docs/`: the documentation above.
|
|
* `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.
|