Skip to content

Latest commit

Β 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏠 Propalytic - Professional House Price Prediction App

🏠 Overview

Propalytic is a professional-grade house price prediction application built with Streamlit, featuring advanced machine learning models trained on comprehensive real estate data. The application provides accurate price estimates with user-friendly interfaces and comprehensive analytics.

✨ Features

  • 🎯 Accurate Predictions: Advanced Random Forest model with high accuracy
  • 🎨 Modern UI: Professional interface with Propalytic branding and custom styling
  • πŸ“Š Comprehensive Analytics: Model insights, feature importance, and confidence intervals
  • πŸ“š Feature Guide: Complete guide to all property features with user-friendly names
  • πŸ‘¨β€πŸ’» Developer Docs: Detailed technical documentation
  • πŸš€ Easy Deployment: Ready for local development and cloud deployment

πŸš€ Quick Start

Prerequisites

  • Python 3.8+ installed and added to system PATH
  • pip package manager (comes with Python)

Installation & Setup

  1. Download or clone this project
  2. Run the application:
    • Windows: Double-click run_app.bat
    • Command line: python -m streamlit run src/app.py
  3. First run: Dependencies will be automatically installed
  4. Open your browser to http://localhost:8501

Simple One-Click Launch

The run_app.bat file handles everything automatically:

  • βœ… Checks Python installation
  • βœ… Validates project structure
  • βœ… Installs dependencies if needed
  • βœ… Launches the Propalytic app

πŸ“ Project Structure

Propalytic/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ app.py                    # Main Streamlit application
β”‚   β”œβ”€β”€ components/               # UI components
β”‚   β”‚   β”œβ”€β”€ modern_cards.py      # Modern card components
β”‚   β”‚   β”œβ”€β”€ option_menu_navbar.py # Navigation menu
β”‚   β”‚   β”œβ”€β”€ prediction_display.py # Prediction display components
β”‚   β”‚   └── team.py              # Team information
β”‚   β”œβ”€β”€ models/                  # ML models and predictors
β”‚   β”‚   β”œβ”€β”€ predictor.py         # Main predictor class
β”‚   β”‚   β”œβ”€β”€ house_price_model.joblib # Trained model file
β”‚   β”‚   └── scaler.joblib        # Feature scaler
β”‚   └── utils/                   # Utility functions
β”‚       β”œβ”€β”€ utils.py            # General utilities
β”‚       β”œβ”€β”€ data_utils.py       # Data processing utilities
β”‚       └── feature_mapping.py  # Feature name mapping
β”œβ”€β”€ assets/
β”‚   └── style.css               # Propalytic custom CSS styles
β”œβ”€β”€ data/                       # Dataset files
β”‚   β”œβ”€β”€ train.csv              # Training dataset
β”‚   β”œβ”€β”€ test.csv               # Test dataset
β”‚   β”œβ”€β”€ X_train.csv            # Processed training features
β”‚   └── selected_features.csv  # Selected feature list
β”œβ”€β”€ ML/                         # Machine learning notebooks
β”‚   └── House price.ipynb      # Model development notebook
β”œβ”€β”€ .streamlit/                 # Streamlit configuration
β”‚   └── config.toml            # App configuration
β”œβ”€β”€ pages/                      # Additional Streamlit pages
β”œβ”€β”€ requirements.txt            # Python dependencies
β”œβ”€β”€ run_app.bat                # One-click Windows launcher
└── README.md                  # This file

🎯 Application Features

🏑 Price Prediction

  • Key Property Features: Essential property characteristics analysis
  • Price Insights: Market analysis and property value factors
  • Confidence Level: Dynamic confidence intervals based on input completeness
  • Real-time Validation: Input validation with helpful error messages
  • Professional Results: Price estimates with detailed breakdowns

πŸ“Š Analytics & Insights

  • Model Performance: Comprehensive model metrics and performance analysis
  • Feature Importance: Visual representation of key pricing factors
  • Market Insights: Understanding property value drivers
  • Confidence Analysis: Prediction reliability and uncertainty quantification

🎨 Modern User Experience

  • Propalytic Branding: Professional purple gradient theme
  • Responsive Design: Works seamlessly on desktop and mobile devices
  • Card-based Layout: Clean, modern card-based result displays
  • Interactive Elements: Engaging user interface with smooth animations

πŸ€– Model Information

Training Data

  • Source: Comprehensive real estate dataset
  • Features: Multiple property characteristics and market indicators
  • Target: Property sale prices
  • Processing: Advanced feature engineering and selection

Model Performance

  • Algorithm: Optimized Random Forest Regressor
  • Feature Selection: Intelligent feature selection for optimal performance
  • Validation: Cross-validation and robust testing
  • Confidence: Dynamic confidence intervals based on feature completeness

Key Features

  • Property Size: Living area, lot size, basement area
  • Quality Metrics: Overall quality, kitchen quality, exterior quality
  • Age Factors: Year built, remodel year
  • Location: Neighborhood and zoning information
  • Amenities: Garage, fireplace, pool, and other features

🎨 Propalytic Design System

Professional Branding

  • Purple Gradient Theme: Signature Propalytic color scheme
  • Modern Cards: Clean card-based layout for all results
  • Consistent Typography: Professional font system
  • Responsive Layout: Optimized for all screen sizes

User Interface Features

  • Intuitive Navigation: Easy-to-use interface design
  • Real-time Feedback: Instant validation and error handling
  • Visual Analytics: Charts and graphs for better understanding
  • Professional Results: Clean, organized prediction displays

Technical Features

  • Component Architecture: Modular, reusable UI components
  • Custom CSS Framework: Propalytic-branded styling system
  • Performance Optimized: Fast loading and smooth interactions
  • Accessibility: Designed for all users

πŸ”§ Customization Guide

Styling

Edit assets/style.css to customize:

  • Propalytic color schemes and gradients
  • Card designs and layouts
  • Typography and spacing
  • Animation and interaction effects

Features

Edit src/utils/feature_mapping.py to:

  • Add or modify user-friendly feature names
  • Update feature descriptions and validations
  • Customize input forms and options

Model Integration

Edit src/models/predictor.py to:

  • Integrate different ML models
  • Customize prediction logic
  • Add new preprocessing steps
  • Implement model monitoring

πŸš€ Deployment Options

Local Development

# Simple command line launch
python -m streamlit run src/app.py

# Or use the automated launcher
run_app.bat  # Windows - handles all setup automatically

Automated Setup (Recommended)

The run_app.bat launcher provides a complete automated experience:

  1. Python Detection: Automatically checks for Python 3.8+
  2. Dependency Management: Installs required packages if missing
  3. Error Handling: Clear error messages and troubleshooting
  4. One-Click Launch: Just double-click to start Propalytic

Cloud Deployment

Streamlit Cloud

  1. Push to GitHub repository
  2. Connect to Streamlit Cloud
  3. Deploy automatically from main branch
  4. Uses requirements.txt for dependencies

Docker Deployment

FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
EXPOSE 8501
HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
CMD ["streamlit", "run", "src/app.py", "--server.port=8501", "--server.address=0.0.0.0"]

Cloud Platforms

  • Heroku: Compatible with Heroku deployment
  • AWS: Works with EC2, ECS, and Lambda
  • Azure: Compatible with Azure Container Instances
  • Google Cloud: Works with Cloud Run

Production Configuration

# For production deployment
streamlit run src/app.py --server.port=8501 --server.address=0.0.0.0

πŸ“ˆ Performance & Optimization

Automated Setup Features

  • Dependency Detection: run_app.bat automatically checks for required packages
  • Smart Installation: Only installs missing dependencies
  • Error Prevention: Validates Python version and project structure
  • User-Friendly Messages: Clear feedback throughout the setup process

Application Performance

  • Model Caching: Optimized with @st.cache_resource for fast loading
  • Data Processing: Efficient preprocessing pipeline
  • Minimal Memory: Optimized memory usage for better performance
  • Fast Response: Quick prediction generation

Error Handling

  • Comprehensive Validation: Input validation and error prevention
  • Graceful Recovery: User-friendly error messages and guidance
  • Automated Troubleshooting: run_app.bat handles common setup issues
  • Detailed Logging: Built-in error tracking and debugging support

Security Features

  • Input Sanitization: Safe handling of user inputs
  • Secure Dependencies: Curated package requirements
  • No Hardcoded Paths: Uses system Python for portability
  • Safe File Operations: Secure file handling practices

🀝 Contributing

Getting Started

  1. Fork the repository
  2. Set up development environment:
    # Clone your fork
    git clone <your-fork-url>
    
    # Run the app to test setup
    run_app.bat  # or python -m streamlit run src/app.py
  3. Create a feature branch
  4. Make your changes following the Propalytic design system
  5. Test thoroughly with the automated launcher
  6. Submit a pull request

Development Workflow

  • Easy Setup: Use run_app.bat for quick development environment setup
  • Automatic Dependencies: No manual dependency management needed
  • Live Reload: Streamlit automatically reloads on file changes
  • Component Testing: Test individual components in isolation

Code Standards

  • Python Style: Follow PEP 8 Python style guidelines
  • Type Hints: Use type hints for better code documentation
  • Documentation: Add comprehensive docstrings for all functions
  • Branding: Maintain the Propalytic purple gradient theme consistency
  • Testing: Ensure run_app.bat works after any structural changes

Design Guidelines

  • Purple Gradient Theme: Maintain the signature Propalytic color scheme
  • Card-based Layout: Use the established card-based design system
  • Responsive Design: Ensure compatibility across all screen sizes
  • Accessibility: Follow accessibility best practices

Deployment Testing

Before submitting changes, test with:

# Test automated setup
run_app.bat

# Test manual setup
python -m streamlit run src/app.py

# Verify all dependencies are in requirements.txt
pip install -r requirements.txt

🏒 About Propalytic

Propalytic is a professional real estate analytics platform that leverages advanced machine learning to provide accurate property valuations and market insights. This application demonstrates the power of combining sophisticated data science with intuitive user experience design.

Key Features

  • One-Click Setup: Automated installation and configuration
  • Professional Design: Modern purple gradient branding
  • Smart Analytics: Advanced ML-powered price predictions
  • User-Friendly: Intuitive interface for all skill levels

πŸš€ Getting Started Summary

For End Users

  1. Download the Propalytic application
  2. Double-click run_app.bat (Windows)
  3. Wait for automatic setup to complete
  4. Open your browser to http://localhost:8501
  5. Start predicting house prices!

For Developers

  1. Clone the repository
  2. Run run_app.bat to test the setup
  3. Edit files using your preferred IDE
  4. Test changes with the automated launcher
  5. Deploy using the provided deployment guides

πŸ™ Acknowledgments

  • Streamlit: For the powerful and intuitive web application framework
  • scikit-learn: For robust machine learning capabilities
  • Plotly: For interactive and beautiful data visualizations
  • Open Source Community: For the foundational tools and libraries that make this possible

πŸ“ž Support & Contact

For support, feature requests, or bug reports:

  • Issues: Open an issue in the repository
  • Documentation: Check the comprehensive guides in this README
  • Setup Problems: The run_app.bat launcher provides automated troubleshooting

Troubleshooting

If you encounter issues:

  1. Python: Ensure Python 3.8+ is installed and in your PATH
  2. Dependencies: Let run_app.bat handle automatic installation
  3. Permissions: Run as administrator if needed on Windows
  4. Firewall: Allow Python/Streamlit through your firewall for localhost access

🏠 Built with ❀️ by the Propalytic Team Real Estate Analytics - Powered by Machine Learning

Contributors

Languages