https://github.com/mrjx-dev/mr-clock
Mr-Clock (Multi-Timezone Clock Application) A simple clock application that has a license key feature (this repo is for learning purposes)
https://github.com/mrjx-dev/mr-clock
custom-tkinter python python-gui-tkinter
Last synced: 3 months ago
JSON representation
Mr-Clock (Multi-Timezone Clock Application) A simple clock application that has a license key feature (this repo is for learning purposes)
- Host: GitHub
- URL: https://github.com/mrjx-dev/mr-clock
- Owner: mrjx-dev
- License: mit
- Created: 2025-01-02T06:05:06.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-01-10T16:59:07.000Z (5 months ago)
- Last Synced: 2025-01-25T17:17:14.660Z (5 months ago)
- Topics: custom-tkinter, python, python-gui-tkinter
- Language: Python
- Homepage:
- Size: 16.6 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# ๐ 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. โก
[](https://www.linkedin.com/in/mrjxtr)
[](https://www.upwork.com/freelancers/~01f2fd0e74a0c5055a?mp_source=share)
[](https://www.facebook.com/mrjxtr)
[](https://www.instagram.com/mrjxtr)
[](https://www.threads.net/@mrjxtr)
[](https://twitter.com/mrjxtr)
[](mailto:[email protected])## โจ 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:
```bash
git clone https://github.com/yourusername/multi-timezone-clock.git
cd multi-timezone-clock
```2. Create and activate a virtual environment (recommended):
```bash
# Windows
python -m venv venv
.\venv\Scripts\activate# macOS/Linux
python3 -m venv venv
source venv/bin/activate
```3. Install required dependencies:
```bash
pip install -r requirements.txt
```4. Set up environment variables (for license testing):
```bash
# Create .env file
echo "LICENSE_KEY=DEMO-123-456-789" > .env
```## ๐ Usage
### ๐ฎ Running the Application
```bash
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 option2. **โ Licensed Version**
- ๐ Displays both local and EST time
- ๐ Machine-specific license validation
- โญ Permanent access to all features3. **โ 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 valid2. After expiration:
- ๐ Use the activation interface on the expired notice
- ๐ Enter a valid license key to restore functionality## ๐ Project Structure
```plaintext
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!
[](https://www.linkedin.com/in/mrjxtr)
[](https://www.upwork.com/freelancers/~01f2fd0e74a0c5055a?mp_source=share)
[](https://www.facebook.com/mrjxtr)
[](https://www.instagram.com/mrjxtr)
[](https://www.threads.net/@mrjxtr)
[](https://twitter.com/mrjxtr)
[](mailto:[email protected])