An interactive web application for analyzing and visualizing Stack Overflow survey data. This dashboard provides insights into technology trends, developer demographics, and programming language popularity based on Stack Overflow's annual developer survey.
flask_app.py- Main Flask application with data processing and API endpointsindex.html- Interactive frontend with visualizationsdata.csv- Stack Overflow survey dataset (not tracked in Git)
- Technology Trends Analysis: Track the popularity of programming languages, frameworks, and tools over time
- Developer Demographics: Visualize developer experience, education, and employment statistics
- Interactive Visualizations:
- Interactive bar and pie charts for categorical data
- Time series analysis of technology adoption
- Geographic distribution of developers
- Salary comparison across different technologies and experience levels
- Python 3.8+
- pip (Python package manager)
- Modern web browser with
The dataset includes responses from the Stack Overflow Annual Developer Survey, containing information about:
- Developer demographics (country, education, experience)
- Technology usage (programming languages, frameworks, databases)
- Job-related information (salary, company size, job satisfaction)
- Technology preferences and learning resources
- Download the
data.csvfile from Google Drive - Place the downloaded
data.csvfile in the project root directory - The application will automatically load the data when started
Note: The data file is not included in the repository due to its size. You must download it separately and place it in the project directory.
-
Clone the repository:
git clone <repository-url> cd <repository-directory>
-
Create and activate a virtual environment (recommended):
python -m venv venv .\venv\Scripts\activate # On Windows
-
Install the required packages:
pip install -r requirements.txt
(Note: Create a
requirements.txtfile with your project's dependencies if you haven't already)
- Ensure your virtual environment is activated
- Install the required packages:
pip install flask pandas plotly
- Run the Flask application:
python flask_app.py
- Open your web browser and navigate to
http://localhost:5000
-
Technology Popularity
- Bar charts showing the most popular programming languages and frameworks
- Year-over-year comparison of technology trends
-
Salary Analysis
- Average salary by country and experience level
- Salary distribution across different technologies
- Impact of education and company size on compensation
-
Developer Demographics
- Geographic distribution of developers
- Experience level distribution
- Education background analysis
-
Technology Correlation
- Heatmaps showing relationships between different technologies
- Most common technology stacks
- Stack Overflow Annual Developer Survey Data
- Additional technology trend data from Stack Overflow Insights
- Fork the repository
- Create a new branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or feedback, please contact [Shlok Gupta] at [shlokg62@gmail.com]