No description
Find a file
2025-11-04 15:18:19 +01:00
.idea First commit 2025-11-04 15:18:19 +01:00
app First commit 2025-11-04 15:18:19 +01:00
lib First commit 2025-11-04 15:18:19 +01:00
.dockerignore First commit 2025-11-04 15:18:19 +01:00
.gitignore First commit 2025-11-04 15:18:19 +01:00
db.json First commit 2025-11-04 15:18:19 +01:00
deploy.sh First commit 2025-11-04 15:18:19 +01:00
docker-compose.swarm.yml First commit 2025-11-04 15:18:19 +01:00
docker-compose.yml First commit 2025-11-04 15:18:19 +01:00
Dockerfile First commit 2025-11-04 15:18:19 +01:00
Dockerfile.jsonserver First commit 2025-11-04 15:18:19 +01:00
next.config.ts First commit 2025-11-04 15:18:19 +01:00
package-lock.json First commit 2025-11-04 15:18:19 +01:00
package.json First commit 2025-11-04 15:18:19 +01:00
postcss.config.mjs First commit 2025-11-04 15:18:19 +01:00
README.md First commit 2025-11-04 15:18:19 +01:00
tailwind.config.ts First commit 2025-11-04 15:18:19 +01:00
tsconfig.json First commit 2025-11-04 15:18:19 +01:00
yarn.lock First commit 2025-11-04 15:18:19 +01:00

Worker Presence Tracker

A Next.js application for tracking worker presence with a point system.

Point System

  • Each worker has 13 points for a 2-week sprint (10 working days)
  • Each presence day = 1.3 points
  • Points are calculated based on the number of presential days worked

Getting Started

Development Mode

  1. Install dependencies:
npm install
  1. Start the JSON server (in one terminal):
npm run json-server
  1. Run the development server (in another terminal):
npm run dev
  1. Open http://localhost:3000 in your browser

Docker Deployment

Local Testing with Docker Compose

docker-compose up -d

Docker Swarm Deployment

  1. Build the images:
./deploy.sh
  1. Deploy to swarm:
docker stack deploy -c docker-compose.swarm.yml presence-tracker
  1. Check the deployment:
docker stack services presence-tracker
  1. Remove the stack:
docker stack rm presence-tracker

The application will be available at:

Features

  • Add workers with their presence days
  • Edit worker presence days inline
  • Automatic point calculation
  • View points earned, points used, and remaining points
  • Summary statistics (total workers, average presence, etc.)
  • Reset all presences button (for new sprint)
  • Persistent storage with json-server
  • Responsive design with Tailwind CSS