- Notifications
You must be signed in to change notification settings - Fork2
Small and simple example projects for Python
License
Efeckc17/simple-example-projects-in-Python
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Collection of simple Python projects for learning and practice.
| Project | Technologies | Difficulty | Description | Jump to |
|---|---|---|---|---|
| 🧮Calculator | CLI, Tkinter, Flask, HTML/CSS/JS | ⭐⭐ Beginner | Multi-platform calculator with different interfaces | Details |
| 🔐Password Generator | CLI, Tkinter, Clipboard API | ⭐⭐ Beginner | Secure password generation with customizable options | Details |
| 🎮Number Guessing Game | CLI, Tkinter, Game Logic | ⭐ Easy | Interactive guessing game with multiple difficulty levels | Details |
| 📝TODO App | SQLite, CLI, Tkinter, CRUD | ⭐⭐⭐ Intermediate | Task management with database operations | Details |
| 🌐Speed Test | Network API, Threading, Progress | ⭐⭐⭐ Intermediate | Internet speed testing with real-time updates | Details |
| 🎨ASCII Art Generator | Image Processing, CLI, File I/O | ⭐⭐ Beginner | Convert text and images to ASCII art | Details |
| 👤User Management API | Flask API, JWT, SQLite, Full-Stack , HTML/CSS/JS | ⭐⭐⭐⭐ Advanced | Complete API with authentication and frontend | Details |
A calculator implemented in three different ways:
- CLI - Command line interface
- GUI - Desktop app with Tkinter
- Web - Flask web application
# CLI Calculatorcd calculator/clipython calculator.py# GUI Calculatorcd calculator/tkinterpython calculator_gui.py# Web Calculatorcd calculator/webpip install -r requirements.txtpython app.py# Open: http://localhost:5000
A secure password generator implemented in two different ways:
- CLI - Command line interface with interactive mode
- GUI - Desktop app with Tkinter and modern interface
- Customizable password length (8-128 characters)
- Character type selection (uppercase, digits, symbols)
- Exclude ambiguous characters option
- Password strength analysis
- Multiple password generation
- Clipboard integration (GUI version)
# CLI Password Generatorcd password-generator/clipython password_gen.py# Interactive modepython password_gen.py -i# GUI Password Generatorcd password-generator/guipip install -r requirements.txtpython password_gui.py
A fun guessing game implemented in two different ways:
- CLI - Command line interface with interactive menu
- GUI - Desktop app with modern Tkinter interface
- Multiple difficulty levels (Easy, Medium, Hard, Expert)
- Smart hint system (direction, temperature, distance)
- Real-time performance tracking
- Game statistics and scoring
- Colorful feedback and emojis
- Time tracking and performance rating
- Easy: 1-50, 10 attempts
- Medium: 1-100, 7 attempts
- Hard: 1-200, 5 attempts
- Expert: 1-500, 8 attempts
# CLI Number Guessing Gamecd number-guessing-game/clipython number_game.py# GUI Number Guessing Gamecd number-guessing-game/guipython number_game_gui.py
A task management application demonstrating SQLite database operations:
- CLI - Command line interface with comprehensive menu system
- GUI - Modern Tkinter interface with all CRUD operations
- SQLite Database Integration - Learn SQL operations hands-on
- CRUD Operations - Create, Read, Update, Delete tasks
- Advanced Filtering - View by status, search functionality
- Priority System - High, Medium, Low priority levels
- Statistics Dashboard - Task completion analytics
- Database Management - View database info and structure
- CREATE TABLE - Database schema design
- INSERT - Adding new records
- SELECT - Querying data with WHERE, ORDER BY
- UPDATE - Modifying existing records
- DELETE - Removing records
- AGGREGATION - COUNT, GROUP BY for statistics
- SEARCH - LIKE operator for text search
# CLI TODO Appcd todo-app/clipython todo_cli.py# GUI TODO Appcd todo-app/guipython todo_gui.py# Database demo (standalone)cd todo-apppython database.py
A network performance testing application using Speedtest.net:
- CLI - Command line interface with detailed progress and history
- GUI - Modern Tkinter interface with real-time updates
- Download/Upload Speed Testing - Accurate bandwidth measurement
- Ping/Latency Testing - Network responsiveness measurement
- Real-time Progress - Live updates during testing
- Test History - Save and view previous test results
- Server Selection - Choose specific test servers
- Performance Analysis - Detailed speed ratings and recommendations
- Statistics Dashboard - Historical data analysis
- HTTP Requests - Network communication protocols
- Threading - Background operations without blocking UI
- Progress Callbacks - Real-time status updates
- JSON Storage - Data persistence for test history
- API Integration - Using external services (Speedtest.net)
# Install dependencies firstcd speedtest-apppip install -r requirements.txt# CLI Speed Testcd clipython speedtest_cli.py# GUI Speed Testcd ../guipython speedtest_gui.py# Core module democd ..python speedtest_core.py
A creative CLI tool for converting text and images to ASCII art:
- Text to ASCII - Transform text using various artistic fonts
- Image to ASCII - Convert images to character-based art
- Multiple Font Styles - 25+ figlet fonts (slant, big, block, bubble, etc.)
- Character Set Options - Detailed, simple, classic, minimal character sets
- Image Processing - Convert JPG, PNG, and other formats to ASCII
- Customizable Output - Adjustable width, border options
- File Export - Save ASCII art to text files
- Preview Functions - Preview fonts and character sets before converting
- Basic: Simple text to ASCII art
- Styled: Custom fonts and decorative borders
- Sized: Adjustable width for different displays
- Photos: Convert portraits and landscapes
- Logos: Transform brand graphics to text art
- Icons: Create ASCII versions of symbols
# Install dependenciescd ascii-art-generatorpip install -r requirements.txt# Convert text to ASCII artpython ascii_generator.py text"Hello World"python ascii_generator.py text"Python" --font big --width 120# Convert image to ASCII artpython ascii_generator.py image photo.jpg --width 100python ascii_generator.py image logo.png --chars simple --banner# Preview available optionspython ascii_generator.py --list-fontspython ascii_generator.py --list-charspython ascii_generator.py --preview-fonts"ABC"# Save to filepython ascii_generator.py text"Save Me" --output my_art.txt# Get detailed helppython ascii_generator.py --help-detailed
A complete full-stack web application demonstrating modern API development:
- Backend - Flask API with JWT authentication and SQLite database
- Frontend - Modern vanilla JavaScript with responsive design
- JWT Authentication - Secure token-based login system
- User Registration - Account creation with validation
- Profile Management - Edit username, email, and avatar
- Avatar Upload - Image processing and storage
- Admin Dashboard - User statistics and activity logs
- Server Logging - Comprehensive activity tracking
- Real-time Updates - Live dashboard data
- POST /api/register - User registration
- POST /api/login - User authentication
- GET /api/profile - Get user profile
- PUT /api/profile - Update profile information
- POST /api/upload-avatar - Profile picture upload
- GET /api/logs - Server activity logs
- GET /api/stats - User statistics
- Single Page Application - No page reloads
- Responsive Design - Works on all devices
- Modern UI/UX - Clean, professional interface
- Form Validation - Client and server-side validation
- File Upload - Drag & drop avatar upload
- Real-time Alerts - User feedback system
- Password Hashing - bcrypt encryption
- JWT Tokens - Secure authentication
- Input Validation - SQL injection prevention
- File Validation - Safe image uploads
- CORS Configuration - Cross-origin protection
# Install dependenciescd user-management-apipip install -r requirements.txt# Start backend servercd backendpython app.py# Backend: http://localhost:5000# Start frontend (new terminal)cd ../frontendpython -m http.server 3000# Frontend: http://localhost:3000# Test API with cURLcurl -X POST http://localhost:5000/api/register \ -H"Content-Type: application/json" \ -d'{"username":"test","email":"test@example.com","password":"password123"}'
- Python 3.7+ (Required for all projects)
- Flask - Web calculator, User management API
- pyperclip - GUI password generator clipboard features
- speedtest-cli - Internet speed test functionality
- Pillow - ASCII art generator image processing, User API avatar processing
- pyfiglet - ASCII art generator text styling
- bcrypt - User management API password hashing
- PyJWT - User management API authentication
- Flask-CORS - User management API cross-origin requests
# Install all project dependencies at oncepip install flask pyperclip speedtest-cli Pillow pyfiglet bcrypt PyJWT Flask-CORSThis repository demonstrates progressive Python concepts:
| Skill Level | Technologies Covered | Projects |
|---|---|---|
| 🟢 Beginner | Basic Python, Input/Output, Conditionals | Calculator, Password Gen, Guessing Game, ASCII Art |
| 🟡 Intermediate | GUI Programming, Database, File I/O | TODO App, Advanced GUIs |
| 🟠 Advanced | Threading, API Integration, Network Programming | Speed Test, Web Calculator |
| 🔴 Expert | Full-Stack Development, Authentication, Security | User Management API |
- Multiple Implementation Approaches - Same functionality, different technologies
- GUI Development - Desktop applications with Tkinter
- Web Development - Full-stack applications with Flask
- CLI Applications - Command-line interfaces and argument parsing
- Database Programming - SQLite integration and SQL operations
- Network Programming - HTTP requests and API integration
- Threading - Background operations and real-time updates
- CRUD Operations - Create, Read, Update, Delete data patterns
- API Development - RESTful API design and implementation
- Authentication & Security - JWT tokens, password hashing, CORS
- Frontend-Backend Integration - Full-stack communication patterns
- Code Organization - Clean project structure and best practices
- Security Practices - Safe input handling and validation
Clone the repository
git clone https://github.com/Efeckc17/simple-example-projects-in-Python.gitcd simple-example-projects-in-PythonInstall dependencies
pip install flask pyperclip speedtest-cli Pillow pyfiglet bcrypt PyJWT Flask-CORS
Pick a project from the table above and follow the specific instructions!
MIT License
If you find this repository helpful for learning Python, please:
⭐Star the repository - Show your support!
🍴Fork it - Create your own version
🐛Report issues - Help us improve
💡Suggest features - Share your ideas
- GitHub:@Efeckc17
- Repository:simple-example-projects-in-Python
⭐ Star this repo if you find it useful for learning Python!
About
Small and simple example projects for Python
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.