Enhanced Alarm Clock
A modern, feature-rich alarm clock web application with a beautiful UI and comprehensive time management features.
Features
Alarm System
- Set multiple alarms with hour, minute, and second precision
- Customizable alarm names
- Snooze functionality with adjustable snooze time (1-30 minutes)
- Sound testing capability
- Custom alarm sound support
- Active alarms list with easy removal
Stopwatch
- Start, stop, and reset functionality
- Lap time recording
- Millisecond precision
- Clean, easy-to-read display
- Lap times history
World Clock
- Add multiple world clocks
- Support for any timezone
- Easy clock management
- Real-time updates
- Major cities pre-configured
- Custom city and timezone addition
World Map
- Visual timezone representation (UTC-12 to UTC+14)
- Major city markers with hover information
- Timezone information display
- Interactive map interface
- City timezone detection
- Continent visualization
Settings
- Dark/Light theme toggle
- Customizable alarm sounds
- Persistent settings using localStorage
- User preferences management
- Modern glass-morphism UI design
Technologies Used
- HTML5
- CSS3 (with modern features like CSS variables and animations)
- JavaScript (ES6+)
- Tailwind CSS for styling
- Bootstrap Icons for icons
- Google Fonts (Montserrat)
- LocalStorage for data persistence
Installation
Clone the repository:
git clone https://github.com/yourusername/enhanced-alarm-clock.git
cd enhanced-alarm-clock
Open main.html
in your web browser:
# Using Python's built-in server
python -m http.server 8000
# Then open http://localhost:8000 in your browser
Usage
Setting an Alarm
- Navigate to the Alarm tab
- Select the desired hour, minute, and second
- Enter an optional alarm name
- Set snooze time (default: 5 minutes)
- Click "Set Alarm"
Using the Stopwatch
- Go to the Stopwatch tab
- Use Start, Stop, and Reset buttons
- Record lap times using the Lap button
- View lap history below the stopwatch
Adding World Clocks
- Open the World Clock tab
- Enter a city name
- Select the timezone
- Click "Add Clock"
- Remove clocks using the X button
Using the World Map
- Navigate to the World Map tab
- Hover over the map to see timezone information
- View major cities and their timezones
- See continent boundaries and timezone lines
Customizing Settings
- Access the Settings tab
- Toggle between dark and light themes
- Change alarm sounds using the file picker
- Preview selected sounds
- Settings are automatically saved
Browser Compatibility
- Chrome (recommended)
- Firefox
- Safari
- Edge
- Opera
File Structure
enhanced-alarm-clock/
├── main.html # Main application file
├── README.md # This file
└── assets/ # Resource files
├── sounds/ # Alarm sounds
└── images/ # Application images
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
)
- Commit your changes (
git commit -m 'Add some AmazingFeature'
)
- Push to the branch (
git push origin feature/AmazingFeature
)
- Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Support
For support, email support@example.com or open an issue in the repository.
Version History
3.0.0
- Complete UI redesign with glass-morphism
- Enhanced world map with city markers
- Improved timezone support
- Dark/Light theme toggle
- Custom alarm sound support
- Persistent settings
2.0.0
- Added world map visualization
- Improved theme support
- Enhanced settings management
- Bug fixes and performance improvements
1.0.0
- Initial release
- Basic alarm functionality
- Stopwatch feature
- World clock support