Skip to content

CSEC-ASTU/Meri_AI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

23 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Meri AI

AI-Powered Campus Navigation & Intelligence System Adama Science and Technology University

⭐ Star · 🐞 Report Bug · ✨ Request Feature

🎯 About

Meri AI is an intelligent campus navigation and knowledge management system built specifically for Adama Science and Technology University (ASTU).

It combines AI-powered conversational assistance, interactive campus mapping, and retrieval-augmented generation (RAG) to help students, staff, and visitors navigate the campus and access accurate information effortlessly.

πŸ’‘ Why Meri AI?

πŸ€– AI-Powered Assistant β€” Natural language queries using Google Gemini

πŸ—ΊοΈ Smart Navigation β€” Real-time routing powered by OpenStreetMap

πŸ“š Knowledge Base β€” Semantic campus search with RAG

πŸ“± Progressive Web App β€” Installable, offline-ready

🎨 Modern UI β€” Clean, responsive design with Tailwind CSS

✨ Features πŸ€– AI Assistant

Natural language campus queries

Context-aware responses (RAG)

Real-time streaming answers (SSE)

Multi-turn conversation support

LangGraph workflow with intent classification

πŸ—ΊοΈ Interactive Campus Map

Leaflet-based real-time mapping

Dynamic route visualization

POI markers with clustering

Mobile-first & touch-optimized

🧭 Smart Navigation

Shortest-path routing (NetworkX)

Walking & accessibility modes

Turn-by-turn instructions

Distance & ETA estimates

Urgency modes (normal / exam rush)

πŸ“ Campus Directory

Categorized facilities & POIs

Advanced search & filtering

Building, floor & room details

πŸ“š Knowledge Management

Web scraping from official ASTU sources

Vector embeddings for semantic search

Document tagging & versioning

Admin content management interface

πŸ“± Progressive Web App (PWA)

Installable on mobile & desktop

Offline support

Service worker caching

Push notification ready

πŸ› οΈ Tech Stack Frontend

Framework: Next.js 15 (App Router)

Language: TypeScript 5.8

UI: React 18.3

Styling: Tailwind CSS 3.4

State: Zustand 5.0

Maps: Leaflet + React-Leaflet

AI: Google Gemini

PWA: next-pwa

Backend

Framework: FastAPI

Language: Python 3.10+

Database: PostgreSQL (Supabase)

Vector Store: pgvector

Cache: Redis (optional)

AI Framework: LangChain + LangGraph

Routing: OSMnx + NetworkX

Scraping: BeautifulSoup + Trafilatura

πŸ—οΈ Architecture CLIENT (Next.js PWA) β”œβ”€ Hero Search β”œβ”€ Interactive Map (Leaflet) β”œβ”€ Campus Directory └─ AI Assistant (Chat UI) β”‚ β–Ό REST API / SSE Streaming β”‚ β–Ό SERVER (FastAPI) β”œβ”€ LangGraph AI Workflow β”‚ β”œβ”€ Intent Classification β”‚ β”œβ”€ Route Detection β”‚ β”œβ”€ Context Retrieval (RAG) β”‚ └─ Response Generation β”‚ β”œβ”€ OSM Routing Service β”œβ”€ RAG & Vector Search └─ Web Scraper β”‚ β–Ό Supabase PostgreSQL + pgvector β”œβ”€ POIs β”œβ”€ Documents └─ Embeddings (768-dim)

πŸš€ Getting Started Prerequisites

Node.js 18+

Python 3.10+

PostgreSQL / Supabase

Google Gemini API Key

Docker (recommended)

πŸ”Ή Frontend Setup cd client npm install --legacy-peer-deps cp .env.example .env.local npm run dev

πŸ“ Runs at: http://localhost:3000

πŸ”Ή Backend Setup cd server python -m pip install -r requirements.txt cp .env.example .env python migrate_db.py uvicorn main:app --reload

πŸ“ API: http://localhost:8000

🐳 Docker Setup (Recommended) docker-compose up -d docker-compose logs -f docker-compose down

Services

Frontend β†’ localhost:3000

Backend β†’ localhost:8000

PostgreSQL β†’ 5432

Redis β†’ 6379

πŸ“‘ API Documentation AI Query

POST /api/ai/query

{ "query": "How do I get to the library?", "latitude": 8.5523, "longitude": 39.2784 }

Navigation

POST /api/route

{ "origin": "Main Gate", "destination": "Engineering Block", "mode": "walking" }

Interactive Docs

Swagger β†’ /api/docs

ReDoc β†’ /api/redoc

πŸ“ Project Structure divas/ β”œβ”€β”€ client/ # Next.js Frontend └── server/ # FastAPI Backend

(Detailed structure preserved exactly as your original β€” clean already πŸ‘)

πŸ” Environment Variables Client NEXT_PUBLIC_GEMINI_API_KEY= NEXT_PUBLIC_API_URL=http://localhost:8000

Server GEMINI_API_KEY= DATABASE_URL= SUPABASE_URL= SUPABASE_KEY= REDIS_URL=

🀝 Contributing

Fork the repo

Create a feature branch

Commit your changes

Open a Pull Request

βœ” Follow best practices βœ” Write clean commits βœ” Update docs

πŸ“ License

Licensed under the MIT License.

πŸ‘₯ Team & Contact

Developed by: πŸŽ“ Computer Science & Engineering Club (CSEC), ASTU

GitHub: @CSEC-ASTU

Repository: https://github.com/CSEC-ASTU/divas

Issues: GitHub Issues

πŸ™ Acknowledgments

Next.js

FastAPI

Google Gemini

Leaflet & OpenStreetMap

Supabase

Tailwind CSS

Made with ❀️ by Team Divas

⭐ Star the repo β€” it really helps!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5