Co-Working Space Shift & Time Tracker
Overview:
This is a JavaScript-based time tracking system designed to monitor working hours in a
co-working space. Users can check in and check out, and the system will track:
● The number of shifts per day
● The total time worked each day
● A daily summary with analytics
Features
User Check-in/Check-out
- Implement a UI to allow users to check in and out manually.
- Use timestamps to track session time.
- Prevent duplicate check-ins.
Shift Tracking System
- Each check-in/check-out counts as one shift
- Allow multiple shifts in a single day.
- Track start time, end time, and duration for each shift.
Daily Summary and Analytics
- Show total number of shifts completed today
- Display total time worked.
Learning Objectives
- Understand time-based event tracking in real-world apps.
- Gain hands-on experience with Promises, async/await, and error handling.
- Use ES6+ data structures
You are encouraged to:
- Design your own UI/UX using plain HTML/CSS
- Decide how data is stored (in-memory, `localStorage`, etc.)
- Determine how to visualise summaries or shifts
- Simulate API calls using Promises or `setTimeout`
Prompts to Consider
- What happens if a user forgets to check out?
- Can the user view shift history (e.g., yesterday’s shifts)?
- Can you show a live timer during an active shift?
- How would you handle sync failures?
- Can you fetch and display a motivational quote on the dashboard?