Skip to content

devangk003/GoFetch

Repository files navigation

GoFetch: Democratizing Data with AI and MongoDB

Turning public datasets into actionable insights for everyone through natural language queries and AI-powered analytics.

🌟 Overview

GoFetch is an interactive web platform that democratizes access to public datasets by integrating AI, MongoDB's advanced search capabilities, and modern web technologies. Our mission is to transform raw data into actionable knowledge for everyone, from researchers to everyday citizens.

Live Demo: [Your deployed URL here]

🎯 Problem Statement

Public datasets hold immense potential to inform decisions and drive change, but they are often underutilized due to:

  • Complex data analysis tools requiring technical expertise
  • Lack of intuitive interfaces for non-experts
  • Limited leverage of AI and advanced search technologies
  • Barriers for users without data science backgrounds

💡 Solution

GoFetch bridges this gap by providing:

  • Natural Language Querying: Ask questions in plain English—no coding required
  • Real-Time Insights: Always see the latest data and trends
  • AI Predictive Analytics: Get forecasts and recommendations to inform decisions
  • Vector Search: Uncover hidden patterns using MongoDB's advanced capabilities

🚀 MVP: Air Quality Monitoring

Our MVP focuses on India's air quality dataset from data.gov.in to address pressing public health concerns.

Key Features

🗺️ Interactive Map Visualization

  • Real-time air quality data across regions
  • Color-coded AQI markers for instant assessment
  • Historical trend analysis and time-based filtering

🔍 Natural Language Search

  • Query data using conversational language
  • Example: "Show me air quality in Delhi last year"
  • Intelligent query interpretation and processing

🤖 AI-Powered Predictions

  • Forecast future air quality levels
  • Machine learning models for trend analysis
  • Health impact assessments and recommendations

📱 Responsive Web Interface

  • Mobile-first design approach
  • Intuitive navigation for all user types
  • Real-time data updates and notifications

🛠️ Technology Stack

Frontend

  • React.js with TypeScript for type-safe, component-based UI
  • Leaflet.js for interactive mapping and geospatial visualization
  • CSS3 with responsive design principles

Backend

  • Node.js with Express.js for efficient API management
  • MongoDB with Atlas Search for flexible data storage and vector search
  • TensorFlow.js for lightweight AI capabilities

Integrations

  • Google Cloud Storage for scalable data hosting
  • MongoDB Vector Search for semantic data discovery
  • Real-time APIs for live environmental data

Development Tools

  • TypeScript for enhanced code quality
  • Environment-based configuration
  • CORS and security middleware
  • Comprehensive error handling

📊 Market Impact

  • Global Market: Data analytics market expected to reach $132.9 billion by 2026
  • Indian Context: 5,000+ datasets available on India's Open Data Portal
  • Target Users: Researchers, policymakers, citizens, and environmental advocates

🎨 Unique Selling Proposition

  1. No-Code Data Exploration: Transform complex queries into simple conversations
  2. AI-Enhanced Insights: Predictive analytics without technical expertise
  3. Vector-Powered Discovery: Find hidden patterns and correlations
  4. Real-Time Processing: Always current, always relevant data

🚦 Getting Started

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn package manager
  • MongoDB Atlas account (for full NLP features)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/gofetch.git
    Set-Location gofetch
  2. Install dependencies

    # Install backend dependencies
    Set-Location backend
    npm install
    
    # Install frontend dependencies
    Set-Location ..\frontend
    npm install
  3. Environment Configuration

    # Backend environment variables
    Set-Location ..\backend
    Copy-Item .env.example .env
    # Edit .env file with your API keys and MongoDB connection string
  4. Start the application

    # Start backend server (from backend directory)
    npm run dev
    
    # In a new PowerShell window, start frontend (from frontend directory)
    Set-Location ..\frontend
    npm start
  5. Access the application

    • Frontend: http://localhost:3000
    • Backend API: http://localhost:5000

🔧 API Endpoints

GET /api/air-quality/search?query={location}
GET /api/air-quality/stations
GET /api/predictions/{location}
POST /api/nlp/query

🗺️ Roadmap

Phase 1 (Current MVP)

  • Air quality data visualization
  • Interactive mapping interface
  • Basic search functionality
  • Real-time data integration

Phase 2 (Next Sprint)

  • Natural language query processing
  • MongoDB Atlas Search integration
  • AI prediction models
  • Vector search capabilities

Phase 3 (Future)

  • Multi-dataset expansion (healthcare, education, finance)

🤝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch:
    git checkout -b feature/amazing-feature
  3. Commit your changes:
    git commit -m 'Add amazing feature'
  4. Push to the branch:
    git push origin feature/amazing-feature
  5. Open a Pull Request

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.


About

GoFetch is an interactive web platform that democratizes access to public datasets by integrating AI, MongoDB's advanced search capabilities, and modern web technologies. Our mission is to transform raw data into actionable knowledge for everyone, from researchers to everyday citizens.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors