The JOSAA Analysis Portal is a web-based application designed to analyze, visualize, and predict seat allocations in Indian Institutes of Technology (IITs) and other participating institutions based on historical data. This project is divided into three phases: Data Scraping and Cleaning, Data Visualization, and Backend Integration with Django.
- Project Overview
- Phase 1: Data Scraping and Cleaning
- Phase 1½: Data Analysis and Visualization
- Phase 2: Web Integration and Backend with Django
- Project Setup
- Running the Project
- Screenshots
- Video Demonstration
The project aims to provide insights and predictions on seat allocations for various engineering institutions under the JOSAA framework. It involves:
- Phase 1: Scraping and cleaning data using Beautiful Soup, NumPy, and Pandas. (The final scraping file is in the directory
web_Scrapping_josaa
) - Phase 1½: Conducting Exploratory Data Analysis (EDA) and creating visualizations.
- Phase 2: Developing a backend with Django to process queries, manage the database, and display visualizations on a web page.
- HTML & CSS: For basic web page structure and styling.
- Beautiful Soup: For scraping data from web pages.
- NumPy: For efficient numerical operations on data.
- Pandas: For data manipulation and analysis.
- Exploratory Data Analysis (EDA): To understand and explore the data.
- Data Visualization: Using Matplotlib and Seaborn for creating plots and graphs.
- Django: For backend development, managing the database, and handling web requests.
- SQLite: The database engine used for this project.
-
Clone the Repository:
git clone https://github.com/yourusername/josaa-analysis-portal.git cd josaa-analysis-portal
-
Create and Activate Virtual Environment:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install Python setuptools:
pip install setuptools
-
Install Dependencies:
pip install -r requirements.txt
-
Apply Migrations:
python manage.py makemigrations python manage.py migrate
To run the project locally, use the following command:
python manage.py runserver
Navigate to http://127.0.0.1:8000/
in your web browser to access the application.
For a detailed walkthrough, watch the deployment video here (<--youtube video on deployment):