https://github.com/bryanhe24/data_analysis_app
A full-stack web application that allows users to upload CSV datasets, analyze the data with statistical summaries and visualizations, and interact with an AI-powered assistant for querying the dataset.
https://github.com/bryanhe24/data_analysis_app
ai data data-analysis data-visualization fullstack-development javascript math python reactjs
Last synced: about 2 months ago
JSON representation
A full-stack web application that allows users to upload CSV datasets, analyze the data with statistical summaries and visualizations, and interact with an AI-powered assistant for querying the dataset.
- Host: GitHub
- URL: https://github.com/bryanhe24/data_analysis_app
- Owner: BryanHE24
- Created: 2025-02-06T22:45:15.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-07T20:38:21.000Z (over 1 year ago)
- Last Synced: 2025-05-14T10:32:30.446Z (about 1 year ago)
- Topics: ai, data, data-analysis, data-visualization, fullstack-development, javascript, math, python, reactjs
- Language: Python
- Homepage:
- Size: 84.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# Dataset Analyzer Web App
A full-stack web application that allows users to upload CSV datasets, analyze the data with statistical summaries and visualizations, and interact with an AI-powered assistant for querying the dataset.
## Features
- Upload CSV files for analysis
- Generate statistical summaries (mean, median, etc.)
- Display data visualizations (histograms, box plots, scatter plots)
- AI-powered query assistant for dataset insights/hesitations
- User-friendly interface with React and Flask backend
## Technologies Used
**Frontend:**
- React.js (with React Router)
- Axios (for API requests)
- CSS for styling
**Backend:**
- Flask (Python)
- Flask-CORS
- Pandas (for data handling)
- Matplotlib & Seaborn (for data visualizations)
- Google Gemini AI API (for AI-powered queries)
- dotenv (for environment variables management)
## Installation & Setup
**Prerequisites:**
- Node.js & npm (for frontend)
- Python 3.x & pip (for backend)
**Backend Setup:**
Clone the repository:
```bash
git clone
cd backend
```
**Install Python dependencies:**
```bash
pip install -r requirements.txt
```
**Set up environment variables:**
Create a .env file in the root directory and add Gemini API Key (Note i've added a key as example how it look like, however this key doesnt work anymore, so you have to create your own(https://ai.google.dev/gemini-api/docs/api-key))
```bash
GOOGLE_API_KEY=
```
**Run the Flask server:**
```bash
python app.py
```
**Frontend Setup:**
Navigate to the frontend folder:
```bash
cd ..
cd data-explorer/
```
**Install dependencies:**
```bash
npm install
```
**Start the React app:**
```bash
npm start
```
## Usage
1) Upload a CSV file from the homepage.
2) View dataset analysis, including summary statistics and visualizations.
3) Interact with the AI assistant to ask questions about the dataset.
## API Endpoints for reference
- Upload Dataset:
```bash
Endpoint: POST /upload
```
**Description: Uploads a CSV file, performs analysis, and returns statistics & visualizations.**
- Query AI Assistant:
```bash
Endpoint: POST /query/
```
**Description: Processes user queries related to the dataset using Google Gemini AI.**
## Project Structure
/ (root)
│── app.py # Flask backend
│── /frontend # React frontend
│── ├── src
│── │ ├── App.js # Main React component
│── │ ├── index.js # React entry point
│── │ ├── App.css # Styling
│── │ ├── pages/
│── │ │ ├── HomePage.js # File upload page
│── │ │ ├── AnalysisPage.js # Dataset analysis & AI assistant
│── ├── public/
│── ├── package.json
│── .env # Environment variables
│── requirements.txt # Backend dependencies
## License
This project is licensed under the MIT License.
## Author
Bryan ST Herrera Estrada (GitHub: [BryanHE24])