Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RealtyVault 🏠

RealtyVault is a desktop application built with Python and PyQt6 that helps manage real estate property information. This project demonstrates my skills in desktop application development, database management, and user interface design. This was done as part of a project for my Advanced Programming course.

Main Window

🚀 Features

Main Interface

The application features an intuitive menu-driven interface with File and Help menus for easy navigation.

File Menu Help Menu

Property Management

Add Properties

Add new properties to the database with detailed information, including property images: Add House Add House Details Add House Image

Modify Properties

Update existing property information seamlessly:

Modify House Modify Details

Search Properties

Find specific properties using the search functionality: Search House Search Results

Comprehensive Reporting

View and analyze all properties in the database: Property Report

  • Database Integration: MySQL backend for reliable data storage
  • Modern Design: Clean interface with custom icons and branding
  • Help System: Built-in help and about sections for user guidance Help Contents

🛠️ Technologies Used

  • Python: Core programming language
  • PyQt6: GUI framework
  • MySQL: Database management

💻 Technical Implementation

Architecture

  • MVC Pattern: Separation of concerns between data, logic, and presentation
  • Modular Design: Each functionality is encapsulated in its own class
  • Event-Driven Programming: Utilizing PyQt6's signal and slot mechanism

Key Components

  • DBConnection.py: Database connection and query handling
  • House.py: Property data model
  • main.py: Application entry point and main window
  • Custom UI files for each feature (Add, Modify, Search, Report)

🚀 Getting Started

Prerequisites

  • Python 3.10 or higher
  • MySQL 8.0
  • PyQt6

Installation

  1. Clone the repository
git clone https://github.com/ebrevan/realtyvault.git
cd realtyvault
  1. Create and activate virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  1. Install dependencies
pip install PyQt6 mysql-connector-python
  1. Set up the database
mysql -u root -p < sql/RealState.sql
  1. Run the application
python py_files/main.py

🎯 Skills Demonstrated

  • Desktop Application Development: Created a fully functional GUI application
  • Database Design & Management: Implemented MySQL database integration
  • UI/UX Design: Developed an intuitive and responsive user interface
  • Software Architecture: Applied MVC pattern and modular design principles
  • Version Control: Used Git for project management
  • Documentation: Created comprehensive documentation and comments

🌟 Future Enhancements

  • Advanced search filters
  • PDF report generation
  • Data analytics dashboard
  • Cloud backup integration
  • Mobile application version

📝 Project Structure

realtyvault/
├── py_files/           # Python source files
├── ui_files/          # PyQt6 UI definition files
├── images/            # Application icons and images
├── sql/              # Database schema and setup
└── README.md         # Project documentation

📬 Contact

About

Real estate property management app made as part of Advanced Programming course

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages