RamonMeffert / elm-gossip

A user-friendly web tool for exploring dynamic gossip.
https://r3n.nl/elm-gossip/
GNU General Public License v3.0
3 stars 0 forks source link
bachelor-project dynamic-gossip elm gossip gossip-protocol webapp

ElmGossip: Explore dynamic gossip in your browser

Website License

ElmGossip is a web tool for exploring and analysing dynamic gossip, built in Elm. The tool is available online, or you can follow the instructions below to run the tool locally. In general, we advise using the online version unless you plan to do anything with the source code.

About

This tool began its life as part of my bachelor's thesis. Since finishing my thesis, I have been working on implementing new features and polishing the tool.

Features

In progress

You can track the progress of these features on the issues page.

Future ideas

Running locally

If you want to build this project yourself, you'll need yarn (or, alternatively, npm).

To install:

yarn install # or npm install

Building and running

If you just want to run the project, you can run a live-reload server in development mode:

yarn start # or npm start

If you want to build a release, you can run the following command:

yarn build # or npm build

This will generate a docs2 directory. You can upload this directory to a web server or run a local web server from this directory (e.g. python3 -m http.server) to see the project. Since Elm is compiled to Javascript, uploading the compiled files is all you need to do – you don't have to start a web server as everything runs client side.


1 The entire application, bundled for production, weighs in at around 200kb. That includes compiled js, css, images and all favicons – most of which you won't even load, since they are platform-specific. For example, when loading the application on Firefox, only 129.29KB (45.73KB gzipped) is downloaded.
2 The application is configured for deployment to GitHub Pages, which expects a docs directory.