https://github.com/ranjeetj06/insighthub
InsightHub is a data analytics project that helps automate the entire process of preparing, analyzing, and reporting on CSV data.
https://github.com/ranjeetj06/insighthub
analysis begineer data springboot
Last synced: about 1 month ago
JSON representation
InsightHub is a data analytics project that helps automate the entire process of preparing, analyzing, and reporting on CSV data.
- Host: GitHub
- URL: https://github.com/ranjeetj06/insighthub
- Owner: RANJEETJ06
- Created: 2025-06-25T13:56:26.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-09-14T16:16:36.000Z (10 months ago)
- Last Synced: 2026-04-23T07:31:58.039Z (2 months ago)
- Topics: analysis, begineer, data, springboot
- Language: Java
- Homepage:
- Size: 1.46 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# InsightHub
For educational purpose only,this project allow the user to get some valuable and non valuable insights from a given dataset(in .csv or .xl).
## 🧰 Tech Stack
**Client:** React.js
**Server:** Spring Boot 3 (Java 17)
**Messaging:** RabbitMQ
**Database:** MongoDB(Docker)
**Report Generation:**
- Apache POI (Excel)
- iText (PDF)
- JFreeChart (for charts: bar, pie, line, scatter, etc.)
**AI Integration:** Gemini API (for advanced data cleaning Not yet)
**Containerization:** Docker, Docker Compose
## 🔧 Microservices Overview
It contains 3 microservices:
| Service | Description | Technologies Used |
|------------------------|-----------------------------------------------------------|----------------------------------------|
| UploadCleanService | Cleans uploaded CSV using manual rules & Gemini AI | Spring Boot, Gemini API, RabbitMQ |
| InsightAnalyzerService | Analyzes cleaned data, encodes categories, finds insights | Spring Boot, MongoDB, RabbitMQ |
| ReportService | Generates PDF/Excel reports with charts | Spring Boot, JFreeChart, iText, POI |
## ⚙️ Setup of the Project
### ✅ Prerequisites
Make sure the following are installed and set up:
- [Docker](https://www.docker.com/) and Docker Compose ✅
- Java 17 ✅
- Maven 3.8+ ✅
- Git ✅
---
```bash
git clone https://github.com/RANJEETJ06/InsightHub.git
cd InsightHub
docker-compose up -d
```
Start RabbitMQ on localhost:5672
(UI: http://localhost:15672, default user/pass: guest/guest)
Start MongoDB on localhost:27017
While on InsightHub move to these 3 files and run all the microservices
### Terminal 1
```bash
cd uploadClean
./mvnw spring-boot:run
```
### Terminal 2
```bash
cd analysisInsights
./mvnw spring-boot:run
```
### Terminal 3
```bash
cd report
./mvnw spring-boot:run
```
---
# To Do
✅ After Startup
✅ Upload a CSV via the UploadClean API(`curl` or Postman format)
✅ Processed events will flow automatically via RabbitMQ
✅ Reports (PDF/Excel) will be generated and saved locally
NOTE: After terminating all microservices make sure to remove docker containers by
```bash
docker-compose down
```