This is a little progress tracker for the exercises listed in the Convict Conditioning book by Paul Wade. A User can login with their Google account, all data is then stored according to that.
- The Frontend is written in Elm and styled with Bulma
- There is no real backend, data is simply synced to a Firebase Cloud Firestore, the database rules are setup as proposed in this helpful blog post by Julien Lengrand-Lambert
- You'll need to have elm and create-elm-app installed
- You will also need to register at Firebase and setup a database, see blog post above
- Go to the project root directory
- Run
$ npm install
to install the firebase dependencies - Prepare
.env
file with your firebase values as described in the blog post mentioned above - Run
$ elm-app start
- Exercise names are currently hardcoded in german, need to be pulled from an external resource that allows adding translations to different languages
$ elm-app build
- Copy
build
folder somewhere a web server is serving static files from - E.g. a super simple nginx setup could look like:
server { listen 443; server_name your.domain.com; location / { root /var/www/convict; error_page 404 =200 /index.html; } }
- A simple deploy script could look then like:
#!/bin/sh ssh username@hostname "mkdir -p /var/www/convict" && \ scp -pr build/* username@hostname:/var/www/convict
- Finally restart your webserver e.g.
systemctl restart nginx