No description
| .idea | ||
| app | ||
| lib | ||
| .dockerignore | ||
| .gitignore | ||
| db.json | ||
| deploy.sh | ||
| docker-compose.swarm.yml | ||
| docker-compose.yml | ||
| Dockerfile | ||
| Dockerfile.jsonserver | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.mjs | ||
| README.md | ||
| tailwind.config.ts | ||
| tsconfig.json | ||
| yarn.lock | ||
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
- Install dependencies:
npm install
- Start the JSON server (in one terminal):
npm run json-server
- Run the development server (in another terminal):
npm run dev
- Open http://localhost:3000 in your browser
Docker Deployment
Local Testing with Docker Compose
docker-compose up -d
Docker Swarm Deployment
- Build the images:
./deploy.sh
- Deploy to swarm:
docker stack deploy -c docker-compose.swarm.yml presence-tracker
- Check the deployment:
docker stack services presence-tracker
- Remove the stack:
docker stack rm presence-tracker
The application will be available at:
- Web UI: http://localhost:3000
- JSON API: http://localhost:3001
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