🏠 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
- Download or clone this project
- Run the application:
- Windows: Double-click
run_app.bat
- Command line:
python -m streamlit run src/app.py
- First run: Dependencies will be automatically installed
- 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
Training Data
- Source: Comprehensive real estate dataset
- Features: Multiple property characteristics and market indicators
- Target: Property sale prices
- Processing: Advanced feature engineering and selection
- 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:
- Python Detection: Automatically checks for Python 3.8+
- Dependency Management: Installs required packages if missing
- Error Handling: Clear error messages and troubleshooting
- One-Click Launch: Just double-click to start Propalytic
Cloud Deployment
Streamlit Cloud
- Push to GitHub repository
- Connect to Streamlit Cloud
- Deploy automatically from main branch
- 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"]
- 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
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
- 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
- Fork the repository
- 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
- Create a feature branch
- Make your changes following the Propalytic design system
- Test thoroughly with the automated launcher
- 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
- Download the Propalytic application
- Double-click
run_app.bat
(Windows)
- Wait for automatic setup to complete
- Open your browser to
http://localhost:8501
- Start predicting house prices!
For Developers
- Clone the repository
- Run
run_app.bat
to test the setup
- Edit files using your preferred IDE
- Test changes with the automated launcher
- 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
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:
- Python: Ensure Python 3.8+ is installed and in your PATH
- Dependencies: Let
run_app.bat
handle automatic installation
- Permissions: Run as administrator if needed on Windows
- Firewall: Allow Python/Streamlit through your firewall for localhost access
🏠 Built with ❤️ by the Propalytic Team
Real Estate Analytics - Powered by Machine Learning