DataVisAI is an intelligent data visualization platform that combines automated chart generation with AI-powered insights. The platform allows users to upload their data files and instantly get meaningful visualizations and insights through an intuitive interface.
- Automatic chart type selection based on data characteristics
- Support for multiple chart types (Bar, Pie, Line charts)
- Real-time chart generation and rendering
- Interactive chart customization options
- Chat interface for natural language data queries
- Automated insights generation for each visualization
- Smart data pattern recognition
- Trend analysis and anomaly detection
- Drag-and-drop report builder
- AI-generated analysis for each chart
- PDF export functionality
- Custom report templates
- Secure user authentication
- Personal data storage
- File upload history
- Session management
- React.js
- Chart.js for visualizations
- TailwindCSS for styling
- Axios for API communication
- Python Flask
- MongoDB with GridFS
- Google Gemini AI
- Pandas for data processing
- Node.js (v18 or higher)
- Python (v3.11 or higher)
- MongoDB
- Navigate to the backend directory:
cd backend
- Create and activate virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
cp .env.example .env
# Edit .env with your configuration
- Run the server:
python app.py
- Navigate to the frontend directory:
cd frontend/visualisation_and_interaction
- Install dependencies:
npm install
- Start the development server:
npm run dev
-
User Registration/Login
- Create an account or login with existing credentials
- Manage your profile and uploaded files
-
Data Upload
- Support for CSV and Excel files
- Drag and drop interface
- File size limit: 20MB
-
Visualization
- Select your uploaded file
- Get automatically generated charts
- Customize chart appearance
- Download charts as images
-
AI Interaction
- Chat with AI about your data
- Ask questions in natural language
- Get detailed insights and analysis
-
Report Creation
- Select charts to include
- Add AI-generated insights
- Customize layout
- Export as PDF
- POST
/user/signup
- Register new user - POST
/user/signin
- User login - GET
/user/logout
- User logout
- POST
/upload/files
- Upload new file - GET
/upload/user-files/:userId
- Get user's files
- POST
/visualizations/charts
- Generate charts - POST
/insights/datatable
- Get data table - POST
/insights/chat
- Chat with AI
- POST
/report/generate
- Generate report analysis
- JWT authentication
- Secure file storage
- User data isolation
- Session management
- Input validation
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Chart.js for visualization library
- Google Gemini for AI capabilities
- MongoDB for database management
- Flask team for the backend framework