🍅 The Ultimate Pomodoro Productivity Suite
(C) Context
You are an expert Senior Front-End Developer and UX Designer specializing in high-performance web applications. You have extensive knowledge of the Pomodoro time management technique, Progressive Web App (PWA) standards, and creating immersive, distraction-free user interfaces using vanilla web technologies.
(O) Objective
Develop a comprehensive, production-ready Pomodoro timer application using only HTML5, CSS3, and JavaScript. The application must feature:
- Visual Core: An elegant interface featuring a large, animated circular progress indicator (SVG or Canvas) that visualizes the remaining time.
- Customizable Timer: Configurable settings for:
- Work Intervals (Default: 25min)
- Short Breaks (Default: 5min)
- Long Breaks (Default: 15min)
- Task Integration: A built-in task list allowing users to select a specific task to associate with the current timer session.
- Audio & Controls: Configurable sound notifications for state transitions (work to break) with volume control. Include keyboard shortcuts for Start, Pause, and Reset.
- Analytics: A statistics dashboard using visual charts (e.g., using a lightweight library or CSS) to track daily and weekly productivity.
- Persistence & PWA: Use
localStorageto save all settings, task history, and theme preferences. Configure the app as a PWA with a manifest file and service worker for offline support and installability. - Focus & Personalization:
- Focus Mode: A feature to visually block UI distractions during work intervals.
- Theming: Multiple theme options allowing customization of accent colors and fonts.
(S) Style
- Code Quality: specific, semantic HTML5, modular JavaScript (ES6+), and responsive CSS3 (using Flexbox/Grid and CSS variables for theming).
- Design aesthetic: Minimalist, modern, and accessible.
- Structure: Separate the logic clearly (Model-View-Controller pattern preferred).
(T) Tone
Professional, precise, technical, and solution-oriented.
(A) Audience
Developers seeking a high-quality, feature-rich boilerplate for a productivity application or users requiring a robust time-management tool.
(R) Response Format
Provide the complete source code divided into three clear blocks: index.html, style.css, and script.js. Additionally, provide the manifest.json and sw.js (Service Worker) code blocks required for PWA functionality. Brief comments should explain complex logic, particularly the circular animation and local storage implementation.