This repository contains the code to run multiple versions of Go Verify!.
Go Verify! is a social media simulation game (demo) that tries to teach journalists, content creators, and media trainers the basics of verification. I.e.: Players will learn how to go about scrutinizing (user generated) content and claims found on the web.
The game has been created in the scope of the DW Innovation project Künstliche Intelligenz gegen Desinformation (KID), which translates to: Artificial Intelligence against Disinformation.
Concept & Development: DW Innovation
Graphic design: Andreas Leibe
Funding: Bundesbeauftage für Kultur und Medien
Go Verify! is a standalone ClojureScript frontend application, that can (but doesn't have to) connect to a Clojure/Jar backend to enable chat and mutiplayer.
npm run watch
please checkout the relevant directory
This application requires java
, node
(v14.17, current LTS) and npm
, as well as clojure
installed and on the $PATH.
Start the frontend application with $ npm run watch
, which uses shadow-cljs to watch the frontend directories, and serves them to http://localhost:8080
.
You can connect to the running process with a REPL by running $ npm run repl
, or connecting through CIDER in emacs with cider-connect-cljs
.
To start with a backend, you will also want to start the frontend (see above). However, this time the server will serve the frontend package and you will access it at a different URL.
Start the backend, with a REPL:
clj -M:repl
The server will then serve the frontend package on localhost:3449
, which is connected to the backend.
Note: in this case, the backend also serves the bundled js frontend
The main
branch, tags, and open pull requests get deployed through Github Actions to AWS S3.
Results are available at: https://kid-game.s3.eu-central-1.amazonaws.com/main/index.html
Note: only the frontend version of the game will be seen at this url. to run a realtime server, you're on your own :)
This application relies on two separate parts, the app
(a clojurescript project) that is the frontend of the website, and the server
, which is a clojure project. cljc
files, which can be shared between the app and the server, are stored in the shared directory
The app
is hosted and compiled by shadow-cljs
, where you can see the configuration in shadow-cljs.edn
. Javascript libraries can be added in package.json, and then used in clojurescript as well.
?post=id
- loads an individual post?dev=anything
- loads a dev environment, including a logged in user?uikit=anything
- loads frontend components for frontend work
KID is a project led by Deutsche Welle Innovation