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.
- π― 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
- Python 3.8+ installed and added to system PATH
- pip package manager (comes with Python)
- Download or clone this project
- Run the application:
- Windows: Double-click
run_app.bat - Command line:
python -m streamlit run src/app.py
- Windows: Double-click
- First run: Dependencies will be automatically installed
- Open your browser to
http://localhost:8501
The run_app.bat file handles everything automatically:
- β Checks Python installation
- β Validates project structure
- β Installs dependencies if needed
- β Launches the Propalytic app
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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
Edit assets/style.css to customize:
- Propalytic color schemes and gradients
- Card designs and layouts
- Typography and spacing
- Animation and interaction effects
Edit src/utils/feature_mapping.py to:
- Add or modify user-friendly feature names
- Update feature descriptions and validations
- Customize input forms and options
Edit src/models/predictor.py to:
- Integrate different ML models
- Customize prediction logic
- Add new preprocessing steps
- Implement model monitoring
# Simple command line launch
python -m streamlit run src/app.py
# Or use the automated launcher
run_app.bat # Windows - handles all setup automaticallyThe 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
- Push to GitHub repository
- Connect to Streamlit Cloud
- Deploy automatically from main branch
- Uses
requirements.txtfor dependencies
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
# For production deployment
streamlit run src/app.py --server.port=8501 --server.address=0.0.0.0- Dependency Detection:
run_app.batautomatically 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_resourcefor fast loading - Data Processing: Efficient preprocessing pipeline
- Minimal Memory: Optimized memory usage for better performance
- Fast Response: Quick prediction generation
- Comprehensive Validation: Input validation and error prevention
- Graceful Recovery: User-friendly error messages and guidance
- Automated Troubleshooting:
run_app.bathandles common setup issues - Detailed Logging: Built-in error tracking and debugging support
- 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
- 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
- Easy Setup: Use
run_app.batfor 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
- 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.batworks after any structural changes
- 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
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.txtPropalytic 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.
- 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
- 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!
- Clone the repository
- Run
run_app.batto test the setup - Edit files using your preferred IDE
- Test changes with the automated launcher
- Deploy using the provided deployment guides
- 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.batlauncher provides automated troubleshooting
If you encounter issues:
- Python: Ensure Python 3.8+ is installed and in your PATH
- Dependencies: Let
run_app.bathandle 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