Skip to content

🐍A professional collection of GUI and CLI-based Python applications, refactored for portability, modularity, and modern aesthetics. This repository demonstrates clean architecture, robust file handling, and modern UI development using CustomTkinter.

License

Notifications You must be signed in to change notification settings

3bsalam-1/Python-Mini-Projects

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

25 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐍 Python Mini-Projects Collection

Python CustomTkinter Pillow License

A professional collection of GUI and CLI-based Python applications, refactored for portability, modularity, and modern aesthetics. This repository demonstrates clean architecture, robust file handling, and modern UI development using CustomTkinter.

✨ Features

  • πŸ“… Precision Age Calculator - Real-time age calculation in years, months, days, and seconds using a modern dark-mode UI.
  • ⏰ Elegant Digital Clock - A clean, persistent desktop clock widget with time validation.
  • πŸŽ“ Student Management System - A robust CLI database system for managing student and instructor records with file persistence.
  • πŸ–ΌοΈ Modern Assets - Integrated PNG icon support using Pillow for cross-platform compatibility.
  • πŸš€ Modular Architecture - Clean separation of concerns with dedicated src, assets, and data directories.
  • πŸ”§ Cross-Platform - portable file paths and universal dependency management.

πŸ› οΈ Technology Stack

Technology Version Purpose
Python 3.11+ Core programming language
CustomTkinter 5.2.0 Modern macOS-style UI framework
Pillow Latest Advanced image processing & icon support
TkCalendar 1.6.1 Date selection widget
OS/Sys Std Lib Cross-platform file path handling

πŸ“ Project Structure

Python/
β”œβ”€β”€ πŸ“„ README.md                    # Project documentation
β”œβ”€β”€ πŸ“„ .gitignore                   # Git ignore patterns
β”œβ”€β”€ πŸ“„ LICENSE                      # License details
β”‚
β”œβ”€β”€ πŸ“‚ age_calculator/              # πŸ“… Age Calculator App
β”‚   β”œβ”€β”€ πŸ“„ README.md                # Component documentation
β”‚   β”œβ”€β”€ πŸ“„ requirements.txt         # Component dependencies
β”‚   β”œβ”€β”€ πŸ“‚ src/
β”‚   β”‚   └── main.py                 # Application entry point
β”‚   └── πŸ“‚ assets/
β”‚       └── icon.png                # App icon
β”‚
β”œβ”€β”€ πŸ“‚ clock/                       # ⏰ Digital Clock App
β”‚   β”œβ”€β”€ πŸ“„ README.md
β”‚   β”œβ”€β”€ πŸ“„ requirements.txt
β”‚   β”œβ”€β”€ πŸ“‚ src/
β”‚   β”‚   └── main.py
β”‚   └── πŸ“‚ assets/
β”‚       └── icon.png
β”‚
└── πŸ“‚ student_instructor/          # πŸŽ“ Management System
    β”œβ”€β”€ πŸ“„ README.md
    β”œβ”€β”€ πŸ“„ requirements.txt
    β”œβ”€β”€ πŸ“‚ src/
    β”‚   └── main.py
    └── πŸ“‚ data/                    # Data persistence layer
        β”œβ”€β”€ instructor.txt
        └── studentpy.txt

πŸš€ Quick Start

Prerequisites

  • Python 3.11 or higher
  • pip (Python package manager)

Installation

  1. Clone the repository

    git clone https://github.com/3bsalam-1/Python-Mini-Projects.git
    cd Python
  2. Create a virtual environment (recommended)

    python -m venv venv
    
    # On Windows
    venv\Scripts\activate
    
    # On macOS/Linux
    source venv/bin/activate
  3. Install dependencies Install all dependencies for GUI components:

    pip install customtkinter tkcalendar pillow

πŸ“– Usage

πŸ“… Age Calculator

Launch the modern GUI to calculate age precision.

python age_calculator/src/main.py

⏰ Digital Clock

Start the desktop clock widget.

python clock/src/main.py

πŸŽ“ Student & Instructor System

Run the CLI management tool for database operations.

python student_instructor/src/main.py

Example CLI Interaction:

--- Main Menu ---
1: Instructor Management
2: Student Management
3: Exit
Your choice: 2

πŸ› Troubleshooting

Common Issues

Issue: ModuleNotFoundError: No module named 'customtkinter'

  • Solution: Run pip install customtkinter or pip install -r age_calculator/requirements.txt

Issue: _tkinter.TclError: couldn't recognize data in image file

  • Solution: Ensure pillow is installed: pip install pillow. The project uses Pillow to handle PNG icons.

🀝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/AmazingFeature
  3. Commit your changes: git commit -m 'Add some AmazingFeature'
  4. Push to the branch: git push origin feature/AmazingFeature
  5. Open a Pull Request

πŸ“„ License

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

πŸ‘€ Author

Ahmed Abdulsalam


⭐ Star this repository if you find it helpful!

Made with ❀️ by Ahmed Abdulsalam

About

🐍A professional collection of GUI and CLI-based Python applications, refactored for portability, modularity, and modern aesthetics. This repository demonstrates clean architecture, robust file handling, and modern UI development using CustomTkinter.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages