The Work Time Calculator is an interactive web application designed to help members of Hack Club's Arcade to estimate the amount of work time needed to earn various rewards.
You can try out the no-backend version of the Work Time Calculator here: https://artem4852.github.io/work-time-calculator/.
- Interactive interface to select desired products
- Real-time calculation of required work hours
- Responsive design for various screen sizes
- Cool raccoon providing feedback
- Backend version for dynamic product updates
- No-backend version for easy deployment and offline use
- Choose the products you want from the available options
- Enter the number of tickets (work hours) you've already accumulated
- Specify the number of days you won't be able to work or the number of hours you can work per day
- Click the "Calculate" button to see the results
- HTML5
- CSS3 (with SASS)
- JavaScript
- Custom font - Slackey
- Python (Flask)
- HTML5 (Jinja2 templates)
- CSS3 (with SASS)
- JavaScript
- Custom font - Slackey
index.html
: Main HTML filestatic/css/style.sass
: SASS stylesstatic/css/style.css
: Compiled CSS stylesstatic/js/script.js
: JavaScript for calculations and interactivity
app.py
: Flask application filetemplates/indexTemplate.html
: HTML template for dynamic renderingstatic/
: Directory containing CSS, JavaScript, and asset filesproducts.json
: JSON file for storing scraped product data
To run the no-backend version locally:
- Clone the repository:
git clone https://github.com/artem4852/work-time-calculator.git
- Navigate to the project directory:
cd work-time-calculator
- Open
index.html
in your preferred web browser
To run the backend version locally:
- Install Python and pip if not already installed
- Install the required dependencies:
pip install flask requests
- Run the Flask application:
python app.py
- Open a web browser and navigate to
http://localhost:5050
The backend version (app.py
) includes the following features:
- Scrapes product data from the Hack Club Arcade API
- Stores the data in a JSON file for caching
- Dynamically renders the product list in the HTML template
This project is open source and available under the MIT License.