Skip to content

A Python and SQL Server-based desktop application for managing a mobile phone retail shop in Sri Lanka. The project includes a full relational database with customer, product, sales, and repair management features, along with a Tkinter GUI and advanced SQL features like triggers, views, and stored procedures. πŸš€

Notifications You must be signed in to change notification settings

HasithFernando/MobileTechHub-ADBMS-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“± MobileTechHub - Retail Shop Database & Application

MobileTechHub is a simple database-driven desktop application designed for a retail mobile phone shop based in Colombo, Sri Lanka. It allows users to manage customers, products, sales, returns, and repairs through a Python GUI and a Microsoft SQL Server database.


🧰 Tech Stack

  • Frontend: Python Tkinter
  • Backend: Microsoft SQL Server
  • Connector: pyodbc for database communication
  • IDE: VS Code / SSMS / Python 3.x

πŸ“ Project Structure


MobileTechHub-ADBMS-System/
β”œβ”€β”€ app/
β”‚   β”œβ”€β”€ **init**.py
β”‚   β”œβ”€β”€ gui.py             # Main GUI application
β”‚   β”œβ”€β”€ customer.py        # Customer operations
β”‚   β”œβ”€β”€ product.py         # Product operations
β”‚   └── ...                # Add more modules (sales, repairs, etc.)
β”‚
β”œβ”€β”€ database/
β”‚   β”œβ”€β”€ **init**.py
β”‚   └── connection.py      # SQL Server connection logic
β”‚
β”œβ”€β”€ docs/
β”‚   β”œβ”€β”€ ER_Diagram.svg     # Exported ER/EER diagram
β”‚   β”œβ”€β”€ Mapping.svg        # Step-by-step normalization
β”‚   └── Project_report.pdf
β”‚
β”œβ”€β”€ README.md              # Project documentation
└── requirements.txt       # Python dependencies (optional)


πŸ”Œ Setup Instructions

1. πŸ—„οΈ SQL Server Setup

  • Create the database in SQL Server (e.g., MobileTechHubDB).
  • Use SQL scripts to create tables, constraints, triggers, views, etc.

2. βš™οΈ Python Environment

pip install pyodbc

3. πŸ”‘ Configure Database Connection

In database/connection.py, update your connection string:

conn_str = (
    "Driver={ODBC Driver 17 for SQL Server};"
    "Server=localhost\\SQLEXPRESS;"  # or your actual SQL Server name
    "Database=MobileTechHubDB;"
    "Trusted_Connection=yes;"
)

4. πŸš€ Run the App

From the root directory:

python -m app.gui

πŸ§ͺ Features

  • βœ… View and add customer records
  • βœ… View and add product records
  • βœ… Modular backend with clean database access logic
  • πŸ› οΈ Extendable to sales, invoices, returns, and repairs
  • πŸ“Š Business intelligence and data mining support (planned)

πŸ“ Assignment Sections Covered

  • Section 1: ER Diagram, Normalization, Relational Mapping
  • Section 2: SQL Table Creation, Data Insertion
  • Section 3: Triggers, Views, UDFs, Stored Procedures
  • Section 4: Application functionality + Business Intelligence

πŸ“Œ TODO

  • Add GUI modules for returns, repairs
  • Implement search and filters
  • Add exception handling and logging

This project is for academic and educational purposes.

About

A Python and SQL Server-based desktop application for managing a mobile phone retail shop in Sri Lanka. The project includes a full relational database with customer, product, sales, and repair management features, along with a Tkinter GUI and advanced SQL features like triggers, views, and stored procedures. πŸš€

Resources

Stars

Watchers

Forks

Languages