{"id":30135663,"url":"https://github.com/efeckc17/simple-example-projects-in-python","last_synced_at":"2025-08-10T22:51:44.375Z","repository":{"id":308228604,"uuid":"1031977517","full_name":"Efeckc17/simple-example-projects-in-Python","owner":"Efeckc17","description":"Small and simple example projects for Python","archived":false,"fork":false,"pushed_at":"2025-08-04T21:51:57.000Z","size":61,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-04T22:18:01.309Z","etag":null,"topics":["learn-python","python","python-basic-examples","python-gui-development","python-mini-projects","tkinter"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Efeckc17.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-04T16:04:17.000Z","updated_at":"2025-08-04T22:14:51.000Z","dependencies_parsed_at":"2025-08-04T22:22:53.544Z","dependency_job_id":"26360eef-d164-4bc6-a37c-f8773077c6aa","html_url":"https://github.com/Efeckc17/simple-example-projects-in-Python","commit_stats":null,"previous_names":["efeckc17/simple-example-projects-in-python"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Efeckc17/simple-example-projects-in-Python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Efeckc17%2Fsimple-example-projects-in-Python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Efeckc17%2Fsimple-example-projects-in-Python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Efeckc17%2Fsimple-example-projects-in-Python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Efeckc17%2Fsimple-example-projects-in-Python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Efeckc17","download_url":"https://codeload.github.com/Efeckc17/simple-example-projects-in-Python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Efeckc17%2Fsimple-example-projects-in-Python/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269803773,"owners_count":24477650,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["learn-python","python","python-basic-examples","python-gui-development","python-mini-projects","tkinter"],"created_at":"2025-08-10T22:51:42.333Z","updated_at":"2025-08-10T22:51:44.317Z","avatar_url":"https://github.com/Efeckc17.png","language":"Python","readme":"# 🐍 Simple Python Projects\n\n![Python](https://img.shields.io/badge/python-v3.7+-blue.svg)\n![License](https://img.shields.io/badge/license-MIT-green.svg)\n![Stars](https://img.shields.io/github/stars/Efeckc17/simple-example-projects-in-Python)\n![Forks](https://img.shields.io/github/forks/Efeckc17/simple-example-projects-in-Python)\n![Issues](https://img.shields.io/github/issues/Efeckc17/simple-example-projects-in-Python)\n![Last Commit](https://img.shields.io/github/last-commit/Efeckc17/simple-example-projects-in-Python)\n\nCollection of simple Python projects for learning and practice.\n\n## 📋 Projects Overview\n\n| Project | Technologies | Difficulty | Description | Jump to |\n|---------|-------------|------------|-------------|---------|\n| 🧮 **Calculator** | CLI, Tkinter, Flask, HTML/CSS/JS | ⭐⭐ Beginner | Multi-platform calculator with different interfaces | [Details](#-calculator) |\n| 🔐 **Password Generator** | CLI, Tkinter, Clipboard API | ⭐⭐ Beginner | Secure password generation with customizable options | [Details](#-password-generator) |\n| 🎮 **Number Guessing Game** | CLI, Tkinter, Game Logic | ⭐ Easy | Interactive guessing game with multiple difficulty levels | [Details](#-number-guessing-game) |\n| 📝 **TODO App** | SQLite, CLI, Tkinter, CRUD | ⭐⭐⭐ Intermediate | Task management with database operations | [Details](#-todo-app-with-sqlite) |\n| 🌐 **Speed Test** | Network API, Threading, Progress | ⭐⭐⭐ Intermediate | Internet speed testing with real-time updates | [Details](#-internet-speed-test) |\n| 🎨 **ASCII Art Generator** | Image Processing, CLI, File I/O | ⭐⭐ Beginner | Convert text and images to ASCII art | [Details](#-ascii-art-generator) |\n| 👤 **User Management API** | Flask API, JWT, SQLite, Full-Stack , HTML/CSS/JS  | ⭐⭐⭐⭐ Advanced | Complete API with authentication and frontend | [Details](#-user-management-api) |\n\n## 📁 Project Details\n\n### 🧮 Calculator\nA calculator implemented in three different ways:\n\n- **CLI** - Command line interface\n- **GUI** - Desktop app with Tkinter  \n- **Web** - Flask web application\n\n#### Run the projects:\n```bash\n# CLI Calculator\ncd calculator/cli\npython calculator.py\n\n# GUI Calculator  \ncd calculator/tkinter\npython calculator_gui.py\n\n# Web Calculator\ncd calculator/web\npip install -r requirements.txt\npython app.py\n# Open: http://localhost:5000\n```\n\n### 🔐 Password Generator\nA secure password generator implemented in two different ways:\n\n- **CLI** - Command line interface with interactive mode\n- **GUI** - Desktop app with Tkinter and modern interface\n\n#### Features:\n- Customizable password length (8-128 characters)\n- Character type selection (uppercase, digits, symbols)\n- Exclude ambiguous characters option\n- Password strength analysis\n- Multiple password generation\n- Clipboard integration (GUI version)\n\n#### Run the projects:\n```bash\n# CLI Password Generator\ncd password-generator/cli\npython password_gen.py\n\n# Interactive mode\npython password_gen.py -i\n\n# GUI Password Generator\ncd password-generator/gui\npip install -r requirements.txt\npython password_gui.py\n```\n\n### 🎮 Number Guessing Game\nA fun guessing game implemented in two different ways:\n\n- **CLI** - Command line interface with interactive menu\n- **GUI** - Desktop app with modern Tkinter interface\n\n#### Features:\n- Multiple difficulty levels (Easy, Medium, Hard, Expert)\n- Smart hint system (direction, temperature, distance)\n- Real-time performance tracking\n- Game statistics and scoring\n- Colorful feedback and emojis\n- Time tracking and performance rating\n\n#### Difficulty Levels:\n- **Easy:** 1-50, 10 attempts\n- **Medium:** 1-100, 7 attempts  \n- **Hard:** 1-200, 5 attempts\n- **Expert:** 1-500, 8 attempts\n\n#### Run the projects:\n```bash\n# CLI Number Guessing Game\ncd number-guessing-game/cli\npython number_game.py\n\n# GUI Number Guessing Game\ncd number-guessing-game/gui\npython number_game_gui.py\n```\n\n### 📝 TODO App with SQLite\nA task management application demonstrating SQLite database operations:\n\n- **CLI** - Command line interface with comprehensive menu system\n- **GUI** - Modern Tkinter interface with all CRUD operations\n\n#### Features:\n- **SQLite Database Integration** - Learn SQL operations hands-on\n- **CRUD Operations** - Create, Read, Update, Delete tasks\n- **Advanced Filtering** - View by status, search functionality\n- **Priority System** - High, Medium, Low priority levels\n- **Statistics Dashboard** - Task completion analytics\n- **Database Management** - View database info and structure\n\n#### SQL Concepts Demonstrated:\n- **CREATE TABLE** - Database schema design\n- **INSERT** - Adding new records\n- **SELECT** - Querying data with WHERE, ORDER BY\n- **UPDATE** - Modifying existing records\n- **DELETE** - Removing records\n- **AGGREGATION** - COUNT, GROUP BY for statistics\n- **SEARCH** - LIKE operator for text search\n\n#### Run the projects:\n```bash\n# CLI TODO App\ncd todo-app/cli\npython todo_cli.py\n\n# GUI TODO App\ncd todo-app/gui\npython todo_gui.py\n\n# Database demo (standalone)\ncd todo-app\npython database.py\n```\n\n### 🌐 Internet Speed Test\nA network performance testing application using Speedtest.net:\n\n- **CLI** - Command line interface with detailed progress and history\n- **GUI** - Modern Tkinter interface with real-time updates\n\n#### Features:\n- **Download/Upload Speed Testing** - Accurate bandwidth measurement\n- **Ping/Latency Testing** - Network responsiveness measurement\n- **Real-time Progress** - Live updates during testing\n- **Test History** - Save and view previous test results\n- **Server Selection** - Choose specific test servers\n- **Performance Analysis** - Detailed speed ratings and recommendations\n- **Statistics Dashboard** - Historical data analysis\n\n#### Network Concepts Demonstrated:\n- **HTTP Requests** - Network communication protocols\n- **Threading** - Background operations without blocking UI\n- **Progress Callbacks** - Real-time status updates\n- **JSON Storage** - Data persistence for test history\n- **API Integration** - Using external services (Speedtest.net)\n\n#### Run the projects:\n```bash\n# Install dependencies first\ncd speedtest-app\npip install -r requirements.txt\n\n# CLI Speed Test\ncd cli\npython speedtest_cli.py\n\n# GUI Speed Test\ncd ../gui\npython speedtest_gui.py\n\n# Core module demo\ncd ..\npython speedtest_core.py\n```\n\n### 🎨 ASCII Art Generator\nA creative CLI tool for converting text and images to ASCII art:\n\n- **Text to ASCII** - Transform text using various artistic fonts\n- **Image to ASCII** - Convert images to character-based art\n\n#### Features:\n- **Multiple Font Styles** - 25+ figlet fonts (slant, big, block, bubble, etc.)\n- **Character Set Options** - Detailed, simple, classic, minimal character sets\n- **Image Processing** - Convert JPG, PNG, and other formats to ASCII\n- **Customizable Output** - Adjustable width, border options\n- **File Export** - Save ASCII art to text files\n- **Preview Functions** - Preview fonts and character sets before converting\n\n#### Text Conversion Examples:\n- Basic: Simple text to ASCII art\n- Styled: Custom fonts and decorative borders\n- Sized: Adjustable width for different displays\n\n#### Image Conversion Examples:\n- Photos: Convert portraits and landscapes\n- Logos: Transform brand graphics to text art\n- Icons: Create ASCII versions of symbols\n\n#### Run the project:\n```bash\n# Install dependencies\ncd ascii-art-generator\npip install -r requirements.txt\n\n# Convert text to ASCII art\npython ascii_generator.py text \"Hello World\"\npython ascii_generator.py text \"Python\" --font big --width 120\n\n# Convert image to ASCII art\npython ascii_generator.py image photo.jpg --width 100\npython ascii_generator.py image logo.png --chars simple --banner\n\n# Preview available options\npython ascii_generator.py --list-fonts\npython ascii_generator.py --list-chars\npython ascii_generator.py --preview-fonts \"ABC\"\n\n# Save to file\npython ascii_generator.py text \"Save Me\" --output my_art.txt\n\n# Get detailed help\npython ascii_generator.py --help-detailed\n```\n\n### 👤 User Management API\nA complete full-stack web application demonstrating modern API development:\n\n- **Backend** - Flask API with JWT authentication and SQLite database\n- **Frontend** - Modern vanilla JavaScript with responsive design\n\n#### Features:\n- **JWT Authentication** - Secure token-based login system\n- **User Registration** - Account creation with validation\n- **Profile Management** - Edit username, email, and avatar\n- **Avatar Upload** - Image processing and storage\n- **Admin Dashboard** - User statistics and activity logs\n- **Server Logging** - Comprehensive activity tracking\n- **Real-time Updates** - Live dashboard data\n\n#### API Endpoints:\n- **POST /api/register** - User registration\n- **POST /api/login** - User authentication\n- **GET /api/profile** - Get user profile\n- **PUT /api/profile** - Update profile information\n- **POST /api/upload-avatar** - Profile picture upload\n- **GET /api/logs** - Server activity logs\n- **GET /api/stats** - User statistics\n\n#### Frontend Features:\n- **Single Page Application** - No page reloads\n- **Responsive Design** - Works on all devices\n- **Modern UI/UX** - Clean, professional interface\n- **Form Validation** - Client and server-side validation\n- **File Upload** - Drag \u0026 drop avatar upload\n- **Real-time Alerts** - User feedback system\n\n#### Security Features:\n- **Password Hashing** - bcrypt encryption\n- **JWT Tokens** - Secure authentication\n- **Input Validation** - SQL injection prevention\n- **File Validation** - Safe image uploads\n- **CORS Configuration** - Cross-origin protection\n\n#### Run the project:\n```bash\n# Install dependencies\ncd user-management-api\npip install -r requirements.txt\n\n# Start backend server\ncd backend\npython app.py\n# Backend: http://localhost:5000\n\n# Start frontend (new terminal)\ncd ../frontend\npython -m http.server 3000\n# Frontend: http://localhost:3000\n\n# Test API with cURL\ncurl -X POST http://localhost:5000/api/register \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"username\":\"test\",\"email\":\"test@example.com\",\"password\":\"password123\"}'\n```\n\n## 🛠️ Global Requirements\n\n- **Python 3.7+** (Required for all projects)\n- **Flask** - Web calculator, User management API\n- **pyperclip** - GUI password generator clipboard features\n- **speedtest-cli** - Internet speed test functionality\n- **Pillow** - ASCII art generator image processing, User API avatar processing\n- **pyfiglet** - ASCII art generator text styling\n- **bcrypt** - User management API password hashing\n- **PyJWT** - User management API authentication\n- **Flask-CORS** - User management API cross-origin requests\n\n### 📦 Quick Install All Dependencies\n```bash\n# Install all project dependencies at once\npip install flask pyperclip speedtest-cli Pillow pyfiglet bcrypt PyJWT Flask-CORS\n```\n\n## 🎯 Learning Goals\n\nThis repository demonstrates progressive Python concepts:\n\n| Skill Level | Technologies Covered | Projects |\n|-------------|---------------------|----------|\n| **🟢 Beginner** | Basic Python, Input/Output, Conditionals | Calculator, Password Gen, Guessing Game, ASCII Art |\n| **🟡 Intermediate** | GUI Programming, Database, File I/O | TODO App, Advanced GUIs |\n| **🟠 Advanced** | Threading, API Integration, Network Programming | Speed Test, Web Calculator |\n| **🔴 Expert** | Full-Stack Development, Authentication, Security | User Management API |\n\n### 📚 Technical Concepts\n- **Multiple Implementation Approaches** - Same functionality, different technologies\n- **GUI Development** - Desktop applications with Tkinter\n- **Web Development** - Full-stack applications with Flask\n- **CLI Applications** - Command-line interfaces and argument parsing\n- **Database Programming** - SQLite integration and SQL operations\n- **Network Programming** - HTTP requests and API integration\n- **Threading** - Background operations and real-time updates\n- **CRUD Operations** - Create, Read, Update, Delete data patterns\n- **API Development** - RESTful API design and implementation\n- **Authentication \u0026 Security** - JWT tokens, password hashing, CORS\n- **Frontend-Backend Integration** - Full-stack communication patterns\n- **Code Organization** - Clean project structure and best practices\n- **Security Practices** - Safe input handling and validation\n\n## 🚀 Quick Start Guide\n\n1. **Clone the repository**\n   ```bash\n   git clone https://github.com/Efeckc17/simple-example-projects-in-Python.git\n   cd simple-example-projects-in-Python\n   ```\n\n2. **Install dependencies**\n   ```bash\n   pip install flask pyperclip speedtest-cli Pillow pyfiglet bcrypt PyJWT Flask-CORS\n   ```\n\n3. **Pick a project from the table above and follow the specific instructions!**\n\n## 📄 License\n\nMIT License\n\n---\n\n## 🌟 Support This Project\n\nIf you find this repository helpful for learning Python, please:\n\n⭐ **Star the repository** - Show your support!  \n🍴 **Fork it** - Create your own version  \n🐛 **Report issues** - Help us improve  \n💡 **Suggest features** - Share your ideas  \n\n## 📞 Connect\n\n- **GitHub:** [@Efeckc17](https://github.com/Efeckc17)\n- **Repository:** [simple-example-projects-in-Python](https://github.com/Efeckc17/simple-example-projects-in-Python)\n\n⭐ Star this repo if you find it useful for learning Python!","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fefeckc17%2Fsimple-example-projects-in-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fefeckc17%2Fsimple-example-projects-in-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fefeckc17%2Fsimple-example-projects-in-python/lists"}