Files in the top-level directory from the latest check-in
- .clj-kondo
- bin
- resources
- src
- test
- commit
- Dockerfile
- LICENSE
- project.clj
- README.md
- SPEC.md
streamful
streamful is a customizable, distributed social network platform. Its goal is to bend the darker parts of social networks towards serving higher purposes. It enables rapid experimentation with new expressions of our lives. It does this by:
- Giving every participant ownership over their content, and
- Enabling server administrators to customize how social data is shaped and rendered
For the full streamful specification see SPEC.md
Running the server
The server can be executed using podman. It might even
work with docker. If you have docker but not podman, you could probably just
alias podman=docker
and everything else would just work.
In order to build the latest image:
bin/build-podman
In order to run it:
bin/run-podman
This will store all data in $HOME/.streamful-podman
Developing the server
Dependencies
To run the streamful platform, you will need to install leiningen using the instructions at https://leiningen.org/
You will also need to be using at least
JDK 9
(because we use .readAllBytes
on InputStream
and .toSeconds
on Duration
)
The tests are known to pass on JDK 11
Running the program locally
lein run
Verifying that the program is correct
lein test
Packaging the program artifact
lein uberjar
Then, you can run the artifact:
java -jar target/uberjar/streamful-standalone.jar
You'll need to use a client to interact with the server.
Running the program interactively
lein repl
Or you can start a REPL using your favorite IDE.
Precommit
Before committing, in order to guarantee safety, you should run:
lein precommit
In fact, if you want to make sure you haven't failed to stage something
properly, you can use ./commit
, which will also check to make sure
you haven't forgotten to stage any file adds/deletes. It will also
ensure the podman image build works properly!
License
See resources/copyright.txt
for the terms under which you can share
this program.