Skip to content

Mr-Clock (Multi-Timezone Clock Application) A simple clock application that has a license key feature (this repo is for learning purposes)

License

Notifications You must be signed in to change notification settings

mrjx-dev/mr-clock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ•’ Mr-Clock (Multi-Timezone Clock Application)

A simple and robust Python application that displays current time and date information across multiple timezones, featuring a license management system and modern UI. โšก

LinkedIn Upwork Facebook Instagram Threads Twitter Gmail

โœจ Features

๐ŸŽฏ Core Features

  • โฐ Real-time display of local time and date
  • ๐ŸŒŽ EST timezone display (licensed version)
  • ๐ŸŽจ Modern, responsive UI using CustomTkinter
  • โš™๏ธ Configurable time and date formats

๐Ÿ”‘ License Management

  • โณ 30-day trial period with remaining days display
  • ๐Ÿ”’ Secure machine-specific license activation
  • ๐Ÿ“Š Multiple license states (Trial, Licensed, Expired, Invalid)
  • ๐Ÿ›ก๏ธ Graceful error handling and user feedback

๐Ÿ–ฅ๏ธ User Interface

  • ๐ŸŽฏ Clean and intuitive interface
  • ๐Ÿ“ฑ Auto-adjusting window size
  • โš ๏ธ Error message display with auto-dismiss
  • ๐Ÿ“Œ Status indicators for license state
  • โšก Responsive time updates

๐Ÿ“‹ Requirements

  • ๐Ÿ Python 3.8 or higher
  • ๐Ÿ’ป Operating System: Windows, macOS, or Linux

๐Ÿš€ Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/multi-timezone-clock.git
    cd multi-timezone-clock
  2. Create and activate a virtual environment (recommended):

    # Windows
    python -m venv venv
    .\venv\Scripts\activate
    
    # macOS/Linux
    python3 -m venv venv
    source venv/bin/activate
  3. Install required dependencies:

    pip install -r requirements.txt
  4. Set up environment variables (for license testing):

    # Create .env file
    echo "LICENSE_KEY=DEMO-123-456-789" > .env

๐Ÿ“– Usage

๐ŸŽฎ Running the Application

python src/main.py

๐Ÿ“ License States

  1. ๐Ÿ”„ Trial Version

    • ๐Ÿ†• Automatically starts with a 30-day trial
    • ๐Ÿ•’ Displays local time only
    • โณ Shows remaining trial days
    • ๐Ÿ”‘ Includes license activation option
  2. โœ… Licensed Version

    • ๐ŸŒŽ Displays both local and EST time
    • ๐Ÿ”’ Machine-specific license validation
    • โญ Permanent access to all features
  3. โŒ Expired/Invalid

    • ๐Ÿšซ Clear notification of license status
    • ๐Ÿ”‘ Option to activate valid license
    • ๐Ÿ›ก๏ธ Graceful degradation of functionality

๐Ÿ” License Activation

  1. During trial period:

    • ๐Ÿ–ฑ๏ธ Click the "Activate License" button
    • โŒจ๏ธ Enter your license key
    • โœ… System will validate and activate if valid
  2. After expiration:

    • ๐Ÿ”„ Use the activation interface on the expired notice
    • ๐Ÿ”‘ Enter a valid license key to restore functionality

๐Ÿ“ Project Structure

multi-timezone-clock/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ main.py           # Application entry point
โ”‚   โ”œโ”€โ”€ ui/
โ”‚   โ”‚   โ”œโ”€โ”€ app.py        # Main application window
โ”‚   โ”‚   โ””โ”€โ”€ clock_display.py  # Clock display components
โ”‚   โ””โ”€โ”€ utils/
โ”‚       โ””โ”€โ”€ license_manager.py  # License management
โ”œโ”€โ”€ requirements.txt      # Project dependencies
โ”œโ”€โ”€ .env                 # Environment variables (create this)
โ””โ”€โ”€ README.md           # Project documentation

๐Ÿ› ๏ธ Development

๐Ÿงฉ Key Components

  • ๐Ÿ–ฅ๏ธ App: Main application window and UI management
  • โฐ ClockDisplay: Handles time display and timezone logic
  • ๐ŸŽฏ TimeFrame: Individual time display component
  • ๐Ÿ”‘ LicenseManager: License validation and trial management

โš ๏ธ Error Handling

The application includes comprehensive error handling:

  • ๐Ÿ›ก๏ธ Graceful degradation on errors
  • ๐Ÿ’ฌ User-friendly error messages
  • ๐Ÿ“ Logging of technical errors
  • ๐Ÿ”„ Automatic recovery where possible

๐Ÿงช Testing

For testing the license system, use:

  • ๐Ÿ”‘ Demo Key: DEMO-123-456-789
  • ๐Ÿ”„ Test different states by modifying the trial start date in license_data.json

๐Ÿค Contributing

  1. ๐Ÿ”€ Fork the repository
  2. ๐ŸŒฟ Create a feature branch
  3. โœ๏ธ Commit your changes
  4. ๐Ÿš€ Push to the branch
  5. ๐Ÿ“ฌ Create a Pull Request

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™ Acknowledgments

  • ๐ŸŽจ CustomTkinter for the modern UI components
  • โฐ Python datetime and pytz for timezone management

๐Ÿ“ซ Let's Connect!

LinkedIn Upwork Facebook Instagram Threads Twitter Gmail

About

Mr-Clock (Multi-Timezone Clock Application) A simple clock application that has a license key feature (this repo is for learning purposes)

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Languages