Skip to content

Krisha1703/jain-setu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ›• JainSetu β€” AI-Powered Jainism Exploration Platform

JainSetu is a full-stack, AI-powered web platform designed to modernize how users discover, learn, and engage with Jain philosophy, temples, Tirthankars, and cultural heritage.

It combines interactive geospatial experiences, structured knowledge systems, and LLM-powered intelligence to deliver a scalable and immersive learning ecosystem.

🚧 This project is actively evolving with continuous feature expansion and improvements.


✨ Overview

JainSetu provides a comprehensive ecosystem for discovering and understanding Jain philosophy and culture through modern web technologies.

The platform enables users to:

  • Explore Jain temples using an interactive map with advanced filtering and search capabilities
  • Learn about Tirthankars through structured, section-based biographies
  • Generate AI-powered summaries for faster understanding of complex narratives
  • Discover festivals, rituals, and significant historical events in an engaging visual format
  • Interact with an intelligent chatbot powered by Groq AI and LangChain (RAG) for contextual query resolution

The system is designed with scalability in mind, supporting future enhancements such as gamified learning modules, community-driven contributions, multilingual support, and personalized experiences.


πŸš€ Features

  • πŸ—ΊοΈ Temple Exploration System

    • Interactive map-based discovery using Mapbox
    • Advanced filters (location, Tirthankar, architecture, search)
    • Dynamic modal with temple details, images, and insights
  • πŸ€– AI-Powered Assistant

    • Context-aware chatbot using Groq AI + LangChain (RAG)
    • Natural language query handling for temple-related information
    • Dynamic AI-generated summaries for Tirthankar biographies
  • πŸ‘‘ Tirthankar Knowledge Explorer

    • Structured biographies (early life, royal life, diksha, teachings)
    • Section-based navigation for better readability
    • On-demand AI summarization for quick understanding
  • πŸŽ‰ Festivals & Cultural Showcase

    • Masonry grid layout for visual exploration
    • Highlights Jain festivals, rituals, and key historical events
    • Designed for scalable content expansion
  • πŸ“– Stories Module (In Progress)

    • Card-based story interface with expandable views
    • Focus on moral and philosophical storytelling
    • Structured for future enhancements and recommendations
  • πŸ“© Contact & Form System

    • Multi-step form with validation using Zod + React Hook Form
    • Smooth user experience with step-wise progression
    • Backend-ready integration with Supabase
  • 🎨 Modern UI & Design System

    • Responsive, component-driven architecture
    • Consistent design language across pages
    • Smooth animations powered by Framer Motion
  • βš™οΈ Scalable Architecture

    • Modular component structure for maintainability
    • API-driven design using Next.js API routes
    • Designed for future features like learning modules and gamification

πŸ—οΈ System Design & Architecture

JainSetu follows a layered, scalable architecture combining modern frontend frameworks, API orchestration, and an AI-powered retrieval system.


🧱 High-Level Architecture

                         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                         β”‚          End User            β”‚
                         β”‚     (Browser / Client)       β”‚
                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                        ↓
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚            Frontend Layer                  β”‚
                β”‚   Next.js (App Router) + React + TS        β”‚
                β”‚--------------------------------------------β”‚
                β”‚ β€’ UI Components (Temples, Tirthankars)     β”‚
                β”‚ β€’ State Management                         β”‚
                β”‚ β€’ Chat Interface                           β”‚
                β”‚ β€’ Forms & Validation                       β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                               ↓
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚         API / Application Layer            β”‚
                β”‚            Next.js API Routes              β”‚
                β”‚--------------------------------------------β”‚
                β”‚ β€’ /api/chat (AI queries)                   β”‚
                β”‚ β€’ /api/summary (AI summarization)          β”‚
                β”‚ β€’ Request validation & processing          β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        ↓               ↓
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”‚        AI Layer       β”‚   β”‚       Data Layer       β”‚
        β”‚-----------------------β”‚   β”‚------------------------β”‚
        β”‚ β€’ LangChain (RAG)     β”‚   β”‚ β€’ JSON datasets        β”‚
        β”‚ β€’ Context Retrieval   β”‚   β”‚ β€’ Supabase (scalable)  β”‚
        β”‚ β€’ Prompt Engineering  β”‚   β”‚ β€’ Data access logic    β”‚
        β”‚ β€’ Groq LLM API        β”‚   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                ↓
                     ↓              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚   External Services Layer  β”‚
        β”‚   LLM Processing       β”‚  β”‚----------------------------β”‚
        β”‚   (Groq Inference)     β”‚  β”‚ β€’ Mapbox (Maps & Markers)  β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚ β€’ Supabase APIs            β”‚
                                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”„ Data Flow & Request Lifecycle

πŸ€– AI Chatbot Flow (RAG Pipeline)

User Query
   ↓
Frontend (Chat UI)
   ↓
API Route (/api/chat)
   ↓
LangChain Pipeline
   β”œβ”€β”€ Retrieve relevant context (temples / tirthankars)
   β”œβ”€β”€ Construct prompt
   ↓
Groq LLM API
   ↓
Generated Response
   ↓
Return to Frontend UI

πŸ—ΊοΈ Temple Exploration Flow


User selects filters/search
        ↓
Frontend state update
        ↓
Fetch temple dataset (Supabase API)
        ↓
Apply filtering logic
        ↓
Render markers using Mapbox
        ↓
User clicks marker
        ↓
Dynamic modal displays temple details


⚑ Performance Optimization

  • Server-side rendering via Next.js
  • Lazy loading components
  • Efficient API handling
  • Future: caching AI responses

πŸ› οΈ Tech Stack

  • Frontend: Next.js 16 (App Router), React, TypeScript
  • Styling & UI Icons: Tailwind CSS, Lucide React
  • Animations: Framer Motion
  • Forms & Validation: React Hook Form + Zod
  • Backend: Next.js API Routes
  • Database: Supabase
  • AI Integration: Groq AI API, LangChain (RAG), @ai/react
  • Maps & Geolocation: Mapbox API
  • Maps & Geolocation: Mapbox API

πŸ“‚ Project Structure

app/
 β”œβ”€β”€ api/                 # API routes (AI, chatbot, summaries)
 β”œβ”€β”€ components/
 β”‚    β”œβ”€β”€ chatbot/
 β”‚    β”œβ”€β”€ contact/
 β”‚    β”œβ”€β”€ masonry-grid/
 β”‚    β”œβ”€β”€ navbar/
 β”‚    β”œβ”€β”€ sections/
 β”‚    β”œβ”€β”€ temples/
 β”‚    β”œβ”€β”€ tirthankars/
 β”‚    └── form/
 β”œβ”€β”€ explore/
 β”œβ”€β”€ page.tsx

data/
 β”œβ”€β”€ temples.json
 β”œβ”€β”€ tirthankars.json

lib/
 β”œβ”€β”€ supabase-client.ts
 β”œβ”€β”€ fetch-temples.ts

types/
 β”œβ”€β”€ temples.ts

.env.local

πŸ” Environment Variables

Create a .env.local file:

NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
MAPBOX_ACCESS_TOKEN=
GROQ_API_KEY=

βš™οΈ Installation & Setup

# Clone repo
git clone https://github.com/Krisha1703/jain-setu.git 

# Install dependencies
npm install

# Run development server
npm run dev

🌐 Live Demo

πŸ”— Website: https://jain-setu.vercel.app


πŸ“Έ Screenshots

🏠 Home Experience

Home

Home

πŸ—ΊοΈ Temple Exploration

Temples

πŸ€– AI Chatbot Interface

Chatbot

Chatbot

πŸ‘‘ Tirthankar Explorer

Tirthankars Tirthankars

✨ Discover Festivals and Rituals

Festivals


πŸ“ˆ Roadmap

  • Learn modules with quizzes & gamification
  • Reward & redemption system
  • Peer-to-peer item exchange
  • Global temple expansion
  • Personalization & user accounts

🀝 Feedback & Contributions

JainSetu is continuously improving.

If you:

  • Have ideas for new features
  • Want to enhance existing functionality
  • Identify areas for refinement

Feel free to open an issue or contribute β€” feedback is always welcome. krishabotadara@gmail.com


About

JainSetu is an AI-powered web platform for exploring Jain temples, Tirthankars, and cultural heritage, featuring an interactive map, advanced filtering, and a RAG-based chatbot for intelligent recommendations.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors