https://github.com/theianjones/spicy-wod
Track and log workouts, PRs, cycles, and follow progressions all in the same place
https://github.com/theianjones/spicy-wod
alpinejs clojure htmx malli reitit xtdb
Last synced: over 1 year ago
JSON representation
Track and log workouts, PRs, cycles, and follow progressions all in the same place
- Host: GitHub
- URL: https://github.com/theianjones/spicy-wod
- Owner: theianjones
- Created: 2023-05-15T17:33:10.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-31T19:05:53.000Z (over 2 years ago)
- Last Synced: 2025-03-11T05:58:30.349Z (over 1 year ago)
- Topics: alpinejs, clojure, htmx, malli, reitit, xtdb
- Language: Clojure
- Homepage: https://spicywod.com
- Size: 574 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# spicy-wod
## Install Clojure
[Instructions here](https://clojure.org/guides/install_clojure#_mac_os_instructions).
TLRD (install java and clj tools)
```sh
brew tap homebrew/cask-versions
brew install --cask temurin17
java --version # check that java is installed
# might need to add java to your path explicitly
echo 'export PATH="/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin:$PATH"' >> ~/.zshrc
brew install clojure/tools/clojure
```
## Install babashka
```sh
brew install borkdude/brew/babashka
```
## Copy config-template.edn to config.edn
```sh
cp config-template.edn config.edn
```
## Start the app
Run `bb dev` to get started. See `bb tasks` for other commands.
## Install Calva
Add the `Calva` extention to vscode (assuming you don't want to code in Emacs).
Once the app is started, hit `CMD+SHIFT+P` then type "Calva: Connect" (or `CTRL+OPTION+C CTRL+OPTION+C`) then select `deps.edn` from the dropdown menu.
Now the repl is connected and you cant hit `OPTION+ENTER` to evaluate s-expressions.
## Add default data to DB
Connect to the repl.
Then head to `src/com/spicy/repl.clj` and evaluate the file (`CTRL+OPTION+C ENTER`)
Move your cursor to line 28 and evaluate the form `OPTION+ENTER`.
Now you will have 3 users, some workouts, and 2 workout results for each user in your database.
## Logging in
Type an email into the sign up or sign in form then take the URL that's printed out in your terminal and paste it into the browser.