Skip to content

marvie148/Aidra

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

NGOlink - AI-Powered NGO Discovery

NGOlink is a modern full-stack application designed to connect users with NGOs facilitating food donation and rescue. It leverages Google Gemini for intelligent classification and filtering of organizations, ensuring users find relevant food banks and community kitchens effectively.

🚀 Tech Stack

Frontend

  • Framework: Next.js 16 (React 19)
  • Styling: Tailwind CSS 4, Framer Motion
  • Icons: Lucide React
  • Language: TypeScript

Backend

  • Framework: FastAPI
  • Database: SQLite (SQLAlchemy)
  • AI Integration: Google Gemini (Generative AI)
  • External Services:
    • Google Maps API (Geocoding)
    • SerpAPI (Organic Search Results)

📋 Prerequisites

Before running the project, ensure you have the following installed:

  • Node.js (v18+)
  • Python (3.9+)
  • API Keys:
    • GOOGLE_MAPS_API_KEY
    • GEMINI_API_KEY
    • SERP_API_KEY

🛠️ Setup Instructions

1. Backend Setup

  1. Navigate to the backend directory:

    cd backend
  2. Create a virtual environment (optional but recommended):

    python -m venv venv
    # Windows
    venv\Scripts\activate
    # macOS/Linux
    source venv/bin/activate
  3. Install dependencies:

    pip install -r requirements.txt
  4. Configure Environment Variables:

    • Create a .env file in the backend directory.
    • Add your API keys:
      GOOGLE_MAPS_API_KEY=your_google_maps_key
      GEMINI_API_KEY=your_gemini_key
      SERP_API_KEY=your_serp_key
  5. Run the server:

    uvicorn main:app --reload --port 8002

    The backend API will be available at http://localhost:8002. Swagger UI documentation: http://localhost:8002/docs

2. Frontend Setup

  1. Navigate to the frontend directory:

    cd frontend
  2. Install dependencies:

    npm install
  3. Run the development server:

    npm run dev

    The frontend will be available at http://localhost:3000.

🧪 Testing

Backend Tests

You can run the provided test scripts to verify backend functionality:

  • test_flow.py: Tests the search and storage endpoints.
  • test_gemini.py: Verifies the Gemini API integration.
  • test_proxy_fix.py: Checks network connectivity and proxy settings.
cd backend
python test_flow.py

📄 License

MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors