A beautiful, minimal digital clock web application built with Next.js that helps you focus and relax with its aesthetic flip animation design.
- Real-time Clock Display: Shows current time with smooth updates every second
- Live Date: Current date displayed in bottom-right corner
- Flip Animation: Beautiful flip card animation when digits change, mimicking a physical flip clock
- Fully Responsive: Works seamlessly across all devices (mobile, tablet, desktop)
- Navigation: Quick access to Stopwatch page with Watch icon
- Precise Time Tracking: Tracks time with seconds precision
- Start/Stop Controls: Easy button to start and pause stopwatch
- Reset Function: Reset timer back to 00:00:00
- Same UI Design: Matches clock page aesthetic with flip animation digits
- Navigation: Quick access back to Clock page
Access all settings by clicking the settings icon at the right corner:
- Smart Alarm: Set custom alarm times with multiple tone options
- Audio Tones: Choose from 4 different alarm sounds (Default, Gentle, Classic, Digital)
- Auto-Stop: Alarm automatically stops after 30 seconds
- Manual Control: Stop alarm anytime with dismiss option
- Persistent Settings: Alarm preferences saved locally
- Visual Indicator: Shows active alarm time above clock
- Theme Aware: Alarm modal adapts to dark/light theme
- Zoom In/Out: Scale the clock from 30% to 250%
- Use slider for precise control or quick buttons for 10% increments
- Perfect for different screen sizes and viewing distances
- Size preference is saved locally
- Enter/Exit Fullscreen: Maximize the clock to fill your entire screen
- Ideal for using as a screensaver or presentation timer
- Toggle easily from the settings panel
- Framework: Next.js 13 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- UI Components: shadcn/ui
- Icons: Lucide React
- Audio: Web Audio API + WAV files for alarm system
- Storage: Browser LocalStorage for preferences
flipclock/
├── app/
│ ├── page.tsx # Clock page
│ ├── stopwatch/
│ │ └── page.tsx # Stopwatch page
│ ├── layout.tsx # Root layout
│ └── globals.css # Global styles
├── components/
│ ├── FlipClock.tsx # Clock page component
│ ├── Stopwatch.tsx # Stopwatch page component
│ ├── FlipDigit.tsx # Flip digit animation component
│ ├── SettingsDialog.tsx # Settings panel (shared)
│ └── ui/ # shadcn/ui components
├── public/
│ ├── alarms/ # Alarm audio files
│ │ ├── default.wav # Default alarm tone
│ │ ├── gentle.wav # Gentle alarm tone
│ │ ├── classic.wav # Classic alarm tone
│ │ └── digital.wav # Digital alarm tone
│ └── flipclock-cover.png # Project banner
└── README.md
- Clone the repository:
git clone https://github.com/codewithdhruba01/FlipClock.git
cd flipclock- Install dependencies:
npm install- Run the development server:
npm run dev- Open http://localhost:3000 in your browser
npm run build
npm run startThis project is licensed under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.
