{"id":24357059,"url":"https://github.com/tanmayborse/price-project","last_synced_at":"2026-04-11T14:03:01.156Z","repository":{"id":267773234,"uuid":"902309776","full_name":"TanmayBorse/price-project","owner":"TanmayBorse","description":"This data science project walks through the step-by-step process of building a real estate price prediction website. I use Pune House Prices Dataset from Kaggle to predict property prices.","archived":false,"fork":false,"pushed_at":"2025-01-15T09:47:03.000Z","size":2429,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-12T07:42:18.736Z","etag":null,"topics":["aws-ec2","cloud","css","datascience","flask","html","nginx","sklearn"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TanmayBorse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-12T10:14:14.000Z","updated_at":"2025-01-19T15:31:35.000Z","dependencies_parsed_at":"2025-03-14T10:15:25.738Z","dependency_job_id":null,"html_url":"https://github.com/TanmayBorse/price-project","commit_stats":null,"previous_names":["tanmayborse/price-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/TanmayBorse/price-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanmayBorse%2Fprice-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanmayBorse%2Fprice-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanmayBorse%2Fprice-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanmayBorse%2Fprice-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TanmayBorse","download_url":"https://codeload.github.com/TanmayBorse/price-project/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TanmayBorse%2Fprice-project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273992766,"owners_count":25203790,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws-ec2","cloud","css","datascience","flask","html","nginx","sklearn"],"created_at":"2025-01-18T18:55:41.396Z","updated_at":"2025-12-30T21:29:07.047Z","avatar_url":"https://github.com/TanmayBorse.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏡 Pune House Price Prediction\n\nThis data science project walks through the step-by-step process of building a **real estate price prediction website**. I use **Pune House Prices Dataset** from Kaggle to predict property prices. The project is divided into three main components:\n\n1. **Model Building**: Using **sklearn** and **linear regression**.\n2. **Python Flask API**: Serving predictions via an HTTP server.\n3. **Frontend**: Built with **HTML/CSS/JavaScript** to accept inputs like home area, bedrooms, etc., and retrieve the predicted price from the Flask API.\n\nThe project covers various **data science concepts** such as:\n- Data loading and cleaning\n- Outlier detection and removal\n- Feature engineering\n- Dimensionality reduction\n- Hyperparameter tuning using GridSearchCV\n- K-Fold cross-validation\n\n## 💻 Technologies and Tools\n\n- **Python**\n- **Numpy** and **Pandas** for data cleaning\n- **Matplotlib** for data visualization\n- **Sklearn** for model building\n- **Jupyter Notebook**, **VS Code**, and **PyCharm** as IDEs\n- **Flask** for the backend server\n- **HTML/CSS/JavaScript** for the frontend\n- **NGINX** for web server setup\n- **AWS EC2** for cloud deployment (Ubuntu)\n\n---\n\n## 📊 Data Science Process\n\n1. **Data Preprocessing**: Handle missing values, outliers, and perform feature engineering.\n2. **Model Building**: Train a linear regression model using `sklearn` and evaluate it using cross-validation.\n3. **Model Evaluation**: Tune hyperparameters using `GridSearchCV` and check performance with metrics like RMSE and R².\n4. **Flask API**: Serve the model as a REST API to make predictions.\n5. **Frontend Development**: Build a user-friendly interface to input house features and get predictions.\n\n---\n\n## 🚀 Deployment on AWS EC2\n\n### Step 1: Launch EC2 Instance\n- Create an EC2 instance using the AWS Management Console.\n- In the security group, add a rule to allow incoming HTTP traffic.\n\n### Step 2: Connect to EC2 Instance\n- Connect to the instance using SSH:\n   ```bash\n   ssh -i \"C:\\Users\\ADMIN\\.ssh\\pune.pem\" ubuntu@ec2-13-233-22-49.ap-south-1.compute.amazonaws.com\n\n### step 3: nginx setup\n   1. Install nginx on EC2 instance using these commands,\n   ```\n   sudo apt-get update\n   sudo apt-get install nginx\n   ```\n   2. Above will install nginx as well as run it. Check status of nginx using\n   ```\n   sudo service nginx status\n   ```\n   3. Now when you load cloud url (ec2-13-233-22-49.ap-south-1.compute.amazonaws.com) in browser you will see a message saying \"welcome to nginx\" This means your nginx is setup and running.\n\n### step 4: Copy all files fron local machine to EC2\n- Then I copy all my code to EC2 instance by copying files using winscp. \n- Once I connect to EC2 instance from WinSCP I copy all code files into /home/ubuntu/ folder. The full path of your root folder is now: **/home/ubuntu/HousePrices**\n### step 5: Create and Link configuration file.\n- After copying code on EC2 server I can point nginx to load property website by default.\n    1. Create this file /etc/nginx/sites-available/php.conf. The file content looks like this,\n    ```\n    server {\n\t    listen 80;\n            server_name php;\n            root /home/ubuntu/HousePrices/client;\n            index app.html;\n            location /api/ {\n                 rewrite ^/api(.*) $1 break;\n                 proxy_pass http://127.0.0.1:5000;\n            }\n    }\n    ```\n    2. Create symlink for this file in /etc/nginx/sites-enabled by running this command,\n    ```\n    sudo ln -v -s /etc/nginx/sites-available/php.conf\n    ```\n    3. Remove symlink for default file in /etc/nginx/sites-enabled directory,\n    ```\n    sudo unlink default\n    ```\n    4. Restart nginx,\n    ```\n    sudo service nginx restart\n    ```\n### step 6: Now install python packages and start flask server\n```\npython3 /home/ubuntu/HousePrices/server/server.py\n```\n- Running last command above will prompt that server is running on port 5000.\n### step 7:\n- Now just load cloud url in browser (for me it was http://ec2-13-233-22-49.ap-south-1.compute.amazonaws.com/) and this will be fully functional website running in production cloud environment\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanmayborse%2Fprice-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftanmayborse%2Fprice-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanmayborse%2Fprice-project/lists"}