Find a working version of this project at www.compounder.dev. For information on how to run the code yourself see the part below on Create React App.
This was a project for learning React. It is a simple Web Game that tests your intuition on compounding effects. The user gets an example and has to submit a guess in 30 seconds. After 5 rounds the accuracy of all submissions is calculated and given as a score. The game history is saved to local storage and displayed on the /results page.
This Page uses the JavaScript library React. For styling I used the Material-UI library, for client side routing React Router.
-> using state and functional components
-> saving information to local storage
-> displaying information from local storage and deleting it + changing the interface
-> using react hooks like useEffect and useState
-> client side routing with React Router
-> styling a webpage with an external library like material-UI
-> hosting a static website on netlify and registering a custom domain name
-> let user choose dificulty of examples
-> counting the submission time into the overall score (faster submissions get more points)
-> text input field for the feedback page
-> creating a proper backend that stores user accounts and game history
This project was bootstrapped with Create React App.
In the project directory, you can run:
Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.
You will also see any lint errors in the console.
Launches the test runner in the interactive watch mode.
See the section about running tests for more information.
Builds the app for production to the build
folder.
It correctly bundles React in production mode and optimizes the build for the best performance.
The build is minified and the filenames include the hashes.
Your app is ready to be deployed!
See the section about deployment for more information.
Note: this is a one-way operation. Once you eject
, you can’t go back!
If you aren’t satisfied with the build tool and configuration choices, you can eject
at any time. This command will remove the single build dependency from your project.
Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except eject
will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.
You don’t have to ever use eject
. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.
You can learn more in the Create React App documentation.
To learn React, check out the React documentation.
This section has moved here: https://facebook.github.io/create-react-app/docs/code-splitting
This section has moved here: https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size
This section has moved here: https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app
This section has moved here: https://facebook.github.io/create-react-app/docs/advanced-configuration
This section has moved here: https://facebook.github.io/create-react-app/docs/deployment
This section has moved here: https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify