clj-shopping

A Clojure clone of a Javascript Shopping Cart app with Lit on the frontend

MIT License

Stars
2

clj-shopping

This project is based off of the Redis Shopping Cart app tutorial.

To Run locally

Make sure you have

  • a local Redis instance running on port 6379
  • Java installed
  • Clojure installed

Start the Server

clj -T:build all && java -jar target/clj-shopping-standalone.jar

Start the Client in a different terminal window

cd client

npm install

npm run dev

The Swagger API will be at http://localhost:3000/api/index.html#/ swagger-api

The UI should be running at http://localhost:5173/

TODO

  • Add proper error handling
  • Add tests
  • Improve documentation
  • Rethink architecture on client side

Local Clojure Development

Start a REPL in your editor or terminal of choice.

Start the server with:

(go)

The default API is available under http://localhost:3000/api

System configuration is available under resources/system.edn.

To reload changes:

(reset)

REPLs

Cursive

Configure a REPL following the Cursive documentation. Using the default "Run with IntelliJ project classpath" option will let you select an alias from the "Clojure deps" aliases selection.

CIDER

Use the cider alias for CIDER nREPL support (run clj -M:dev:cider). See the CIDER docs for more help.

Note that this alias runs nREPL during development. To run nREPL in production (typically when the system starts), use the kit-nrepl library through the +nrepl profile as described in the documentation.

Command Line

Run clj -M:dev:nrepl or make repl.

Note that, just like with CIDER, this alias runs nREPL during development. To run nREPL in production (typically when the system starts), use the kit-nrepl library through the +nrepl profile as described in the documentation.