Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@
/resources/public/js
/resources/public/css/*.css
/.shadow-cljs
.lsp
1 change: 1 addition & 0 deletions .tool-versions
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nodejs 20.18.1
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,26 @@ docker-compose up

After a while, you should be able to access http://localhost:5000 and log in with username `user1` or `user2` and password `secret`. I would recommend to open up two browser windows, one with each user, and place some orders so a trade is executed and you can observe the real-time comms feature.

## Running without Docker for development

1. Start nREPL server for the Clojure application:
```
clojure -Sdeps '{:deps {nrepl/nrepl {:mvn/version "1.3.1"}}}' -M:dev -m nrepl.cmdline
```
2. Connect to the nREPL server, connect to it, seed and start the system:
```
clojure -Sdeps '{:deps {reply/reply {:mvn/version "0.5.1"}}}' -M -m reply.main --attach localhost:`cat .nrepl-port`
(seed)
(start)
```
3. Install ClojureScript UI app dependencies `npm install`
4. Start ClojureScript application watch `npx shadow-cljs watch app`
5. Open http://localhost:5000 and start playing around

## Preview

![Screenshot of the main page](docs/mercurius-main-page.png)

## Contributing

I'm by no means an expert in any of the principles or technologies used in this project, so feel free to share your thoughts, submit bug reports, pull requests, etc.
8 changes: 4 additions & 4 deletions deps.edn
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,12 @@
:deps {org.clojure/clojure {:mvn/version "1.10.1"}
org.clojure/core.async {:mvn/version "1.0.567"}
org.clojure/core.match {:mvn/version "1.0.0"}
slingshot {:mvn/version "0.12.2"}
slingshot/slingshot {:mvn/version "0.12.2"}
com.taoensso/timbre {:mvn/version "4.10.0"}
tick {:mvn/version "0.4.23-alpha"}
http-kit {:mvn/version "2.3.0"}
tick/tick {:mvn/version "0.4.23-alpha"}
http-kit/http-kit {:mvn/version "2.3.0"}
metosin/reitit {:mvn/version "0.4.2"}
integrant {:mvn/version "0.8.0"}
integrant/integrant {:mvn/version "0.8.0"}
com.taoensso/sente {:mvn/version "1.15.0"}
ring/ring-anti-forgery {:mvn/version "1.3.0"}}

Expand Down
Binary file added docs/mercurius-main-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading