Ollama + Google Maps AI Finder

Aplikasi yang menampilkan tempat menggunakan rekomendasi AI + Google Maps

pythonflaskreactaigoogle-cloudgoogle-maps

Bagikan proyek ini:

Tentang Proyek

🌐 Pencari Lokasi AI Ollama + Google Maps (Ollama + Google Maps AI Finder)

image

Aplikasi full-stack modern yang menggabungkan local LLM (Ollama) dan Google Maps Places API untuk membantu pengguna menemukan tempat (restoran, kafe, dll.) menggunakan bahasa alami.

Antarmukanya menggunakan gaya Chat-AI modern mode gelap, dibangun dengan React + Vite + Tailwind CSS, dan backend ditenagai oleh Flask (Python) dengan pembatasan tingkat permintaan (rate-limiting), caching, dan komunikasi API yang aman.


πŸš€ Fitur

  • πŸ” Pencarian yang ditingkatkan AI (Ollama menyempurnakan kueri pengguna).
  • πŸ“ Integrasi Google Maps Text Search.
  • πŸ—ΊοΈ Pratinjau peta tersemat (live embedded map).
  • πŸš— Buka petunjuk arah di Google Maps.
  • πŸŒ™ UI bertema Chat AI mode gelap.
  • ⚑ Cepat berkat Vite + Tailwind CSS.
  • πŸ” Backend aman dengan:
    • Flask rate limiter.
    • Rahasia variabel lingkungan (env variable).
    • Perlindungan CORS.
    • Penyamaran API key (masking).
    • Caching permintaan.

πŸ—οΈ Tech Stack

Frontend

  • React (JavaScript)
  • Vite
  • Tailwind CSS
  • UI Mode Gelap Modern

Backend

  • Python Flask
  • httpx
  • Flask-Limiter
  • Flask-Caching
  • Dotenv

AI

  • Local LLM menggunakan Ollama
    (Model yang direkomendasikan: llama3, llama3.1, mistral, dll.)

Maps

  • Google Maps Places API
  • Google Maps Embed API

πŸ“ Struktur Proyek

maps-ollama-projects/
β”‚
β”œβ”€β”€ backend/
β”‚ β”œβ”€β”€ app.py
β”‚ β”œβ”€β”€ requirements.txt
β”‚ β”œβ”€β”€ .env
β”‚ └── .venv/
β”‚
└── frontend/
β”œβ”€β”€ index.html
β”œβ”€β”€ postcss.config.js
β”œβ”€β”€ tailwind.config.js
β”œβ”€β”€ src/
β”‚ β”œβ”€β”€ App.js
β”‚ β”œβ”€β”€ main.js
β”‚ β”œβ”€β”€ SearchForm.js
β”‚ └── MapEmbed.js
└── package.json

πŸ”§ 1. Setup Backend (Flask)

πŸ“Œ Install dependensi

cd backend
python -m venv .venv
.\.venv\Scripts\activate    # Windows
pip install -r requirements.txt

πŸ“Œ Buat file .env

GOOGLE_MAPS_API_KEY=API_KEY_GOOGLE_CLOUD_ANDA
PORT=5000
OLLAMA_URL=http://localhost:11434/api/generate

βœ” Pastikan Places API sudah diaktifkan. βœ” Batasi key menggunakan IP (127.0.0.1 atau IP jaringan lokal Anda).

πŸ“Œ Jalankan backend

python app.py

Backend tersedia di: http://localhost:5000

🎨 2. Setup Frontend (React + Vite + Tailwind)

cd frontend
npm install
npm run dev

Frontend tersedia di: http://localhost:5173

▢️ 3. Menjalankan Aplikasi

Jalankan Ollama:

ollama serve

Jalankan backend:

cd backend
.\.venv\Scripts\activate
python app.py

Jalankan frontend:

cd frontend
npm run dev

Buka browser: http://localhost:5173


πŸ§ͺ Contoh Kueri (Pencarian)

Coba cari:

"cafΓ© 24 jam di Depok"
"sushi terbaik dekat Surabaya"
"tempat makan malam romantis di Jakarta"
"kedai kopi murah dekat UI"

Ollama akan menyempurnakan kueri tersebut β†’ backend mengirimkannya ke Google β†’ hasil ditampilkan bersama peta.

Ollama + Google Maps AI Finder | Daffathan Labs | Daffathan Labs