Code Monkey home page Code Monkey logo

fulcro-should-i-train's Introduction

minimalist-fulcro-template-backendless

A template for starting a new, frontend-only Fulcro application with in-browser Pathom. Intended for playing with and learning Fulcro, not for production apps, and therefore simpler than the official fulcro-template. It is a good starting point for your learning projects that is hopefully simple enough for you to understand.

For a template that has an actual backend, see minimalist-fulcro-template.

Creating a new application from the template

Download or clone this repository to your computer and start hacking away.

Explanation

You will run shadow-cljs, which will watch, compile, and update the sources and also run a HTTP server to serve the application.

Usage

Prerequisites: same as shadow-cljs'.

First, install frontend dependencies via npm, yarn, or similar:

npm install # or yarn install # reportedly yarn < v3

then start the application either via

npx shadow-cljs watch main

or, if you have Babashka installed, via

bb run

NOTE: For Calva, do instead start the REPL from the editor - run Jack-in, selecting shadow-cljs then the :main build. Remember to load the page in the browser, see below.

Finally, navigate to http://localhost:8000 and, after that, connect to the shadow-cljs nREPL at port 9001* and switch to the browser REPL by evaluating (shadow/repl :main) (Calva does the latter for you).

Create a standalone build

You can also compile the sources into a directory via

npx shadow-cljs release main
# or: bb build

and then serve the whole website using a HTTP server, e.g.:

cd resources/public/
python3 -m http.server 8000

Why is this not suitable for production?

No thought was given to security, performance, monitoring, error tracking and other important production concerns. It also bakes in fulcro-troubleshooting, which you do not want unnecessarily increasing your bundle size in production settings. So if you want to use the template as a starting point for a production application, you will need to add those yourself.

TODO

  • Can we display an error in the UI when we remove the i-fail resolver from Pathom? Currently it returns ::p/errors ::p/not-found, which Fulcro ignores

License

Copyleft © 2021 Jakub Holý

Distributed under the Unlicense.

fulcro-should-i-train's People

Contributors

theianjones avatar zacjones93 avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

fulcro-should-i-train's Issues

Display previous results

As a user that has logged previous readiness quizzes, I would like to see my past results so that I could compare them to my most recent one.

Edit todays entry

As a user who has taken the readiness quiz, I would like the edit my entry as I made a mistake the first time.

As an athlete I want to know if I should train today

As an athlete I want to know if I should train today

This is the primary use case for the app.

To find out whether or not you should train, you need to answer an 8 question survey to determine your score. Your score is calculated based off the points assigned to your answer in each question

  • How many days in a row have you trained?
  • How sore are you?
  • How excited are you to train today?
  • What's your mood like?
  • What are your hormones like?
  • How’s your immune system?
  • How many hours of sleep did you get last night?
  • What was your sleep quality like?

The answer that you select for each question will determine your day's readiness from 0-100%. This quiz is used to track your average readiness score so you understand what your baseline is.

Prevent multiple entries for a day

As a user who has already entered my readiness quiz, I would like to edit my quiz so that i can make sure that it was as accurate as possible.

In other words, dont let the user enter 2 of the same readiness quiz in the same day. they should edit their existing quiz if they have one.

Design v1

I like this color palette for the app:
color-pallete

Landing page mobile

landing-page-mobile-v1

Landing page desktop

Landing-page-v1

Question mobile

Question

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.