An open API service indexing awesome lists of open source software.

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

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.