Note
The application, documentation and logo were created with ChatGPT (Log).
It is a web application that displays a new AI-generated workout every day.
This Nodes.js application displays a daily Crossfit workout on a webpage. The page shows the workout in a table in the center. The workouts are generated once daily and stored in a JSON file.
- Project Overview
- Installation
- Usage
- Docker Support
- Kubernetes Deployment
- GitHub Actions Workflow
- Styles
- Node.js
- Docker
- Kubernetes (e.g., Minikube)
- Git
-
Clone the repository:
git clone https://github.com/gerrited/daily-workout.git cd daily-workout
-
Install dependencies:
npm install
-
Start the application:
node app.js
-
Open a browser and navigate to
http://localhost:3000
.
-
Build the Docker image:
docker build -t crossfit-workout:latest .
-
Run the Docker container:
docker run -p 3000:3000 crossfit-workout:latest
- Apply the Kubernetes resources:
kubectl apply -f k8s/pv.yaml kubectl apply -f k8s/frontend.yaml kubectl apply -f k8s/workout-generator.yaml
- Check the status of deployments and services:
kubectl get deployments kubectl get services
The GitHub Actions workflow builds and pushes the Docker image to the GitHub Container Registry (GHCR) automatically.
.github/workflows/frontend.yml .github/workflows/workout-generator.yml
src/frontend/public/styles.css
Contributions are welcome! Please create a pull request or file an issue in the issue tracker.