https://github.com/alihuzaifa2004/python_ui_based_mini_projects
Python mini projects with Gui using streamlit
https://github.com/alihuzaifa2004/python_ui_based_mini_projects
python python-app pythonprogramming pythonprojects streamlit
Last synced: 3 months ago
JSON representation
Python mini projects with Gui using streamlit
- Host: GitHub
- URL: https://github.com/alihuzaifa2004/python_ui_based_mini_projects
- Owner: alihuzaifa2004
- Created: 2025-04-29T19:54:08.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-07-27T06:17:14.000Z (5 months ago)
- Last Synced: 2025-07-27T08:27:02.248Z (5 months ago)
- Topics: python, python-app, pythonprogramming, pythonprojects, streamlit
- Language: Python
- Homepage:
- Size: 2.44 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ Python Mini Projects with GUI
This repository is created to deliver a collection of Python mini projects with GUI interfaces. The included projects are:
* Student Management System
* Contact Book
* Rock Paper Scissor
* Virtual Bank System
* ChatBot with OpenAI
* MCQ Quiz App
* Tic-Tac-Toe Game
* Plagiarism Detection System
* Password Generator ๐
* Real-Time Stopwatch โฑ๏ธ
* Basic Data Analysis with Streamlit ๐
* E-Commerce Management System ๐
* Scientific Calculator ๐งฎ
* Currency Converter ๐
* Weather App ๐
* Word Counter Application ๐
* Airline Reservation Management System โ๏ธ
---
## ๐ Student Management System
This is a Python mini project that provides a GUI-based student management system. It allows users to manage student records using a simple and intuitive interface.
### โ
Features
* Add new student records
* View all student records
* Update existing student information
* Delete student records
* Data stored in `data.json` file for persistence
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
* JSON (for data storage)
---
## ๐ Contact Book
The Contact Book project provides a GUI for storing and managing contact information. Users can add, view, search, and delete contact details easily.
### โ
Features
* Add new contacts (name, phone number, email)
* View all saved contacts
* Search contacts by name or number
* Delete specific contacts
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
* File handling (e.g., text or JSON format for saving contacts)
---
## โ Rock Paper Scissor
A classic Rock Paper Scissor game with a GUI that lets users play against the computer.
### โ
Features
* Interactive GUI gameplay
* Random computer move generation
* Real-time result display
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
* Random module
---
## ๐ฆ Virtual Bank System
This project is a basic banking system simulation that allows users to create accounts, log in, deposit, withdraw, and delete accounts through a Streamlit-powered interface.
### โ
Features
* Create new bank accounts
* Secure login with password (stored in JSON)
* View current account balance
* Deposit and withdraw funds
* Delete existing accounts
* Data stored in `accounts.json` for persistence
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
* JSON (for storing account data)
---
## ๐ค ChatBot with OpenAI
This project demonstrates a simple chatbot using the OpenAI GPT-3.5 model integrated with Streamlit.
### โ
Features
* Interactive chat interface with memory of conversation
* Uses OpenAIโs GPT-3.5 for generating responses
* Text-based input/output in the browser
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
* OpenAI API (GPT-3.5 Turbo)
### ๐ How to Use
1. Set your OpenAI API key in the script (`openai.api_key = "your-api-key"`).
2. Run the Streamlit app:
```bash
streamlit run ChatBotwithOpenAI.py
```
---
## ๐ง MCQ Quiz App
A simple yet interactive multiple-choice quiz application built using **Python** and **Streamlit**. This app presents users with a series of 20 general knowledge questions and evaluates their score at the end.
### โ
Features
* 20 general knowledge questions
* Multiple choice options for each question
* Real-time scoring and result display
* Option to restart the quiz
* Fully browser-based UI using Streamlit
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
---
## ๐ฎ Tic-Tac-Toe Game
An interactive browser-based Tic-Tac-Toe game for two players using Streamlit.
### โ
Features
* Two-player mode with name input
* Alternating turns and move tracking
* Automatic win or tie detection
* Option to restart the game
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
### โถ๏ธ How to Run
```bash
pip install streamlit
streamlit run app.py
```
---
## ๐ต๏ธ Plagiarism Detection System
A tool to detect plagiarism between two text documents or inputs using either TF-IDF or Sentence Transformers for similarity calculation.
### โ
Features
* Upload PDF, DOCX, or TXT files or input text manually
* Choose between TF-IDF or Transformer-based similarity
* Highlights line-by-line similarities
* Gives similarity score with interpretation (high/moderate/low)
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
* scikit-learn (TF-IDF, cosine similarity)
* SentenceTransformers (for BERT-based embeddings)
* PyMuPDF and python-docx (for PDF and DOCX parsing)
---
## ๐ Password Generator
A secure and customizable password generator with a simple GUI interface. Users can generate passwords that always start with a letter and include a mix of letters, digits, and special characters.
### โ
Features
* User-defined password length (between 6 and 15 characters)
* Passwords always start with a letter (AโZ, aโz)
* Includes letters, digits, and punctuation characters
* Simple and secure password generation
* Web-based interface using Streamlit
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
* `random` and `string` modules for password generation
### โถ๏ธ How to Run
```bash
pip install streamlit
streamlit run password_generator.py
```
---
## โฑ๏ธ Real-Time Stopwatch
This is a simple **Real-Time Stopwatch** web application built using Streamlit in Python.
### โ
Features
* Start/Stop the stopwatch
* Reset the stopwatch
* Real-time updates of minutes, seconds, and milliseconds
* Minimal, centered layout
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
### โถ๏ธ How to Run
```bash
pip install streamlit
streamlit run stopwatch.py
```
### Limitations
โ ๏ธ Since Streamlit is not designed for continuous loops, this app relies on simple hacks using session state and `st.empty()`. It is best for small utilities but not a high-precision stopwatch.
---
## ๐ Basic Data Analysis with Streamlit
This is a simple Streamlit web application that allows users to upload a CSV file and instantly view an overview of the data, including the first few rows and summary statistics.
### โ
Features
* Upload a CSV file (`.csv` format)
* Display the first five rows of the dataset
* Show basic descriptive statistics using `pandas.describe()`
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
* Pandas (for data analysis)
### โถ๏ธ How to Run
```bash
pip install streamlit pandas
streamlit run app.py
```
### ๐ File Structure
```
Basic Data Analysis with Streamlit/
โโโ app.py
โโโ README.md
โโโ requirements.txt # Optional: for specifying dependencies
```
### ๐ Example
When you upload a CSV file, you'll see:
* The first five rows of the dataset
* Summary statistics such as count, mean, std, min, and max
### ๐งฉ Notes
* The CSV is read with `encoding='ISO-8859-1'` to handle non-UTF-8 files.
* You can adjust the encoding as needed (e.g., `utf-8`, `latin1`).
---
Here's your **updated project README** with the new **๐ E-Commerce Management System** section added and fully integrated into the existing project list and structure:
---
## ๐ E-Commerce Management System
This is a **Streamlit-based desktop web app** that simulates an **E-Commerce Management System** backed by a **SQL Server database**. The app enables customers to view and purchase products and provides admin-level access for managing product inventory and customer records.
### โ
Features
#### ๐ฅ Customers
* Add new customers
* View all registered customers
* View individual customer order history
#### ๐ Products
* Browse all available products with images
* Buy products (place orders)
* Admins can add new products with images
#### ๐ฆ Orders
* Place new orders
* View all orders
* View specific customer's order history via stored procedure
#### ๐ Admin
* Login system for admin access
* Admin-only features (like product addition)
### ๐ ๏ธ Technologies Used
* Python
* Streamlit (for GUI)
* SQL Server (database)
* pyodbc (for DB connection)
* Pandas (data manipulation)
* OS module (file handling)
### โถ๏ธ Running the App
1. **Install dependencies:**
```bash
pip install streamlit pyodbc pandas
```
2. **Run the app:**
```bash
streamlit run app.py
```
> Make sure your SQL Server is running and accessible.
### ๐ Default Admin Login
* **Username:** `admin`
* **Password:** `admin123`
### ๐ Folder Structure
```
E-Commerce Management System/
โโโ app.py
โโโ product_images/
โโโ README.md
```
## ๐งฎ Scientific Calculator (Tkinter)
This is a GUI-based Scientific Calculator built using Python's Tkinter library. It supports both basic arithmetic and advanced scientific functions with a responsive, scrollable layout.
### โ
Features
* Standard operations: `+`, `-`, `*`, `/`, `()`
* Scientific functions:
* Trigonometry: `sin`, `cos`, `tan`
* Logarithmic: `log`, `ln`
* Exponential and powers: `exp`, `pow`
* Square root: `sqrt`
* Constants: `ฯ`, `e`
* Control buttons:
* `C` to clear all input
* `โซ` to delete a single character
* `=` to evaluate the expression
* Scrollable interface for small screens
### ๐ ๏ธ Technologies Used
* Python 3.x
* Tkinter (for GUI)
* Math module (for scientific calculations)
### โถ๏ธ How to Run
```bash
python scientific_calculator.py
```
> No external libraries are required. This project runs with Pythonโs built-in modules.
---
Hereโs your **updated README file with the Currency Converter project fully integrated** into the original document:
---
## ๐ฑ Currency Converter (Python Tkinter)
This is a **Currency Converter Application** built using **Python Tkinter**. It allows users to convert currencies from one type to another using both:
* โ
**Online Mode:** Real-time exchange rates using the `forex-python` library.
* โ
**Offline Mode:** Instant conversion using pre-defined static exchange rates.
### โ
Features
* User-friendly GUI with Tkinter.
* Currency selection via dropdown menus.
* Real-time conversion (online mode).
* Instant response without internet (offline mode).
* Error handling for invalid inputs.
---
### ๐ Project Scenarios
#### ๐ Online Currency Converter
* Uses the `forex-python` library.
* Fetches **live exchange rates** from external APIs.
* Requires an **active internet connection**.
**Pros:**
* Real-time rates.
* Wide currency support.
**Cons:**
* Depends on API speed.
* May hang if API is slow.
---
#### ๐ Offline Currency Converter
* Uses **pre-defined exchange rates** stored in the program.
* Works **without internet**.
* Provides **instant results**.
**Pros:**
* Fast and reliable.
* Fully offline.
**Cons:**
* Exchange rates need manual updating.
---
### ๐ ๏ธ Installation
**Requirements:**
```bash
pip install forex-python
```
### ๐ Folder Structure
```
Currency Converter/
โโโ online.py
โโโ offline.py
โโโ README.md
```
---
### โถ๏ธ How to Run
**Online Mode:**
```bash
python currency_converter_online.py
```
**Offline Mode:**
```bash
python currency_converter_offline.py
```
---
### ๐ Notes
* You can extend the offline exchange rate table with more currencies.
* In online mode, the system fetches live rates but may take a few seconds depending on internet speed.
---
### ๐ก Future Enhancements
* Add more currencies.
* Improve UI with themes or dark mode.
* Integrate local database or Excel support for offline rates.
* Add historical exchange rate graphs.
# Weather App using Python Tkinter and WeatherAPI
## ๐ Project Overview
This is a **Weather Application** built using **Python Tkinter** that fetches **live weather data** using the [WeatherAPI.com](https://www.weatherapi.com/) service.
The application displays:
- โ
Current Temperature
- โ
Weather Condition
- โ
Humidity
- โ
Wind Speed
---
## โจ Features
- User-friendly GUI with Tkinter.
- Live weather updates using WeatherAPI.
- Error handling for invalid city names and connection issues.
---
## ๐ Requirements
### Install Required Libraries:
```bash
pip install requests
```
---
## ๐ Get Your API Key
1. Go to [https://www.weatherapi.com/](https://www.weatherapi.com/)
2. Sign up for a free account.
3. Get your API key from the dashboard.
4. Replace `'YOUR_API_KEY_HERE'` in the Python code with your API key.
---
### ๐ Folder Structure
```
Wheather App/
โโโ app.py
โโโ README.md
```
## โถ๏ธ How to Run
```bash
python weather_app.py
```
---
## ๐ ๏ธ How It Works
- Enter a city name in the input box.
- Click "Get Weather" to fetch live weather data.
- Displays:
- City
- Temperature (ยฐC)
- Weather condition (Clear, Rainy, Cloudy, etc.)
- Humidity
- Wind Speed (km/h)
---
## ๐ Notes
- Make sure you have an active internet connection.
- The API key must be active and correct for the app to work.
---
## ๐ก Future Enhancements
- Add weather icons.
- Add popular cities dropdown.
- Convert to EXE file for easy distribution.
- Show multi-day forecasts.
# ๐ Word Counter Application
This project contains two versions of a **Word Counter App** built using:
- โ
**Streamlit (Web App)**
- โ
**Tkinter (Desktop App)**
Both versions allow users to:
- Paste text manually
- Upload `.txt` or `.pdf` files
- Analyze word count, character count, sentence count, and paragraph count
---
## ๐ Project Structure
```
word_counter_app/
โ
โโโ word_counter_streamlit.py # Streamlit web version
โโโ word_counter_tkinter.py # Tkinter desktop version
โโโ README.md # Project documentation
```
---
## ๐ Streamlit Version
### โ
Features
- Paste or upload `.txt`/`.pdf` files
- Extracts and displays content
- Shows counts of:
- Words
- Characters
- Sentences
- Paragraphs
- Requires pressing **Submit** button to view results
### โถ๏ธ How to Run
1. **Install dependencies**:
```bash
pip install streamlit PyPDF2
```
2. **Run the app**:
```bash
streamlit run word_counter_streamlit.py
```
3. **Open in browser**:
Streamlit will open your default browser automatically at `http://localhost:8501`.
---
## ๐ฅ๏ธ Tkinter Version
### โ
Features
- Desktop GUI with:
- Text area for manual input
- Upload `.txt` or `.pdf` files
- "Analyze Text" button to process
- Displays counts of:
- Words
- Characters
- Sentences
- Paragraphs
### โถ๏ธ How to Run
1. **Install dependencies**:
```bash
pip install PyPDF2
```
2. **Run the app**:
```bash
python word_counter_tkinter.py
```
> Make sure you're running this in a desktop environment (not headless server).
---
## ๐ฆ Requirements
Create a `requirements.txt` with the following:
```
streamlit
PyPDF2
```
Install using:
```bash
pip install -r requirements.txt
```
# โ๏ธ Airline Reservation Management System
A **GUI-based Airline Reservation System** built using **Python and Tkinter**, storing data in **JSON files**. It supports multiple user roles: **Admin**, **Employee**, and **Customer** โ each with dedicated dashboards and functionalities.
---
## ๐ Key Highlights
- ๐๏ธ Multi-role login system: **Admin**, **Employee**, and **Customer**
- ๐
Date-based flight management with conflict checks
- ๐ Flight search functionality by **origin**, **destination**, and optional **date**
- ๐ซ Prevent duplicate flight entries and booking conflicts
- ๐ก Built without external database dependencies โ perfect for quick deployment and learning
---
## ๐ Project Structure
```
airline\_system/
โ
โโโ main.py # App entry point (Login & Role Routing)
โ
โโโ dashboards/ # Role-based dashboards
โ โโโ admin.py # Admin panel for managing flights
โ โโโ employee.py # Employee panel for service assignment
โ โโโ customer.py # Customer panel for booking/searching
โ
โโโ ui/ # User interface components (login/register)
โ โโโ login.py
โ โโโ register.py
โ โโโ components.py # (Optional) shared UI widgets
โ
โโโ core/ # Core logic
โ โโโ auth.py # Authentication functions
โ โโโ database.py # JSON read/write handlers
โ โโโ flight\_ops.py # Flight data operations (CRUD)
โ
โโโ data/
โ โโโ users/
โ โ โโโ admins.json # Admin user data
โ โ โโโ staff.json # Employee user data
โ โ โโโ customers.json # Customer user data
โ โโโ flights/
โ โ โโโ flights.json # Flight schedule data
โ โโโ bookings/
โ โโโ bookings.json # Booking records
โ
โโโ README.md
````
## ๐ค User Roles & Functionalities
### ๐ซ Admin
- โ Add new flights with **unique flight ID**, **origin**, **destination**, **date**, and **time**
- ๐งน Prevents flight ID duplication
- ๐ View a list of all scheduled flights
- ๐
Includes validations for proper date/time formats
---
### ๐งโโ๏ธ Employee
- โ๏ธ Choose a flight from the current schedule
- ๐ ๏ธ Select a service role such as **Pilot**, **Air Hostess**, or **Ground Staff**
- ๐ Submit assignment to the selected flight
- ๐ง Upcoming: View list of assigned flights or shift overview
---
### ๐ง Customer
- ๐ View list of all available flights
- ๐ Search flights by **origin**, **destination**, and (optional) **date**
- ๐ Prevents booking multiple flights on the same date
- โ
Book flights using flight ID
- ๐ View previously booked flights in a readable format
---
## ๐พ Data Storage (JSON-based)
| File Path | Purpose |
|-----------|---------|
| `data/users/admins.json` | Stores admin credentials |
| `data/users/staff.json` | Stores employee credentials |
| `data/users/customers.json` | Stores customer accounts |
| `data/flights/flights.json` | All flight details |
| `data/bookings/bookings.json` | All customer bookings |
This approach ensures:
- Lightweight implementation (no database setup)
- Easy portability and readability
- Beginner-friendly for learning file-based persistence
---
## ๐งช How to Run
### ๐ฆ Requirements
- Python 3.9+
- Tkinter (comes pre-installed with Python)
### โถ๏ธ Run the App
```bash
python main.py
````
Once launched, users can choose to **Login** or **Register**, and based on role, will be redirected accordingly.
---
## ๐ Authentication Flow
* ๐ Registration stores user credentials in role-specific JSON files.
* ๐งญ Login checks credentials from corresponding role files.
* ๐ Navigation is routed to the correct dashboard:
* **Admin** โ Admin Dashboard
* **Employee** โ Employee Role Assignment Panel
* **Customer** โ Booking & Search Panel
---
## ๐ Planned Enhancements
* ๐ Admin view of all customer bookings per flight
* ๐๏ธ Flight deletion by Admin
* ๐ค Export bookings and flights to CSV or PDF
* ๐งญ Employee dashboard to view schedule and assigned shifts
* ๐ Optional SQLite or Firebase integration for persistent cloud storage
---
---
## ๐ Project Folder Structure
```
โโโ Student Management System/
โ โโโ data.json
โ โโโ StudentPortal_GUI.py
โ
โโโ Contact Book/
โ โโโ [Contact Book Python Files]
โ
โโโ Rock Paper Scissor/
โ โโโ [Rock Paper Scissor Python Files]
โ
โโโ Virtual Bank System/
โ โโโ accounts.json
โ โโโ VirtualBank_GUI.py
โ
โโโ ChatBot with OpenAI/
โ โโโ ChatBotwithOpenAI.py
โ
โโโ MCQ Quiz App/
โ โโโ mcq_quiz_app.py
โ
โโโ Tic Tac Toe Game/
โ โโโ app.py
โ
โโโ Plagiarism Detection System/
โ โโโ plagiarism_app.py
โ
โโโ Password Generator/
โ โโโ password_generator.py
โ
โโโ Real-Time Stopwatch/
โ โโโ stopwatch.py
โ
โโโ Basic Data Analysis with Streamlit/
โ โโโ app.py
โ โโโ README.md
โ โโโ requirements.txt
โ
โโโ E-Commerce order Management System/
โ โโโ app.py
โ โโโ product_images/
โ โโโ README.md
โโโ Calculator/
โ โโโ main.py
โ โโโ README.md
โโโ Currency Converter/
โ โโโ online.py
โ โโโ offline.py
โ โโโ README.md
โโโ Wheather App/
โ โโโ app.py\
โ โโโ README.md
โโโ Word Counter/
โ โโโ streamlit_version.py\
| โโโ tkinter_version.py\
โ โโโ README.md
โโโ Airline Reservation Management System โ๏ธ/
โ โโโ main.py # App entry point (Login & Role Routing)
โ โ
โ โโโ dashboards/ # Role-based dashboards
โ โ โโโ admin.py # Admin panel for managing flights
โ โ โโโ employee.py # Employee panel for service assignment
โ โ โโโ customer.py # Customer panel for booking/searching
โ โ
โ โโโ ui/ # User interface components (login/register)
โ โ โโโ login.py
โ โ โโโ register.py
โ โ โโโ components.py # (Optional) shared UI widgets
โ โ
โ โโโ core/ # Core logic
โ โ โโโ auth.py # Authentication functions
โ โ โโโ database.py # JSON read/write handlers
โ โ โโโ flight\_ops.py # Flight data operations (CRUD)
โ โ
โ โโโ data/
โ โ โโโ users/
โ โ โ โโโ admins.json # Admin user data
โ โ โ โโโ staff.json # Employee user data
โ โ โ โโโ customers.json # Customer user data
โ โ โโโ flights/
โ โ โ โโโ flights.json # Flight schedule data
โ โ โโโ bookings/
โ โ โโโ bookings.json # Booking records
โ โ
โ โโโ README.md
โ
โ
---
## ๐ License
This project is for **educational purposes** only.