Svaran (from Sanskrit, meaning "to have a voice") is a full-stack, multilingual AI-powered chatbot designed to serve as a comprehensive information helpdesk for the IIT Jammu community. It provides students, faculty, and visitors with instant, accurate answers to a wide range of frequently asked questions about campus life, academics, and facilities.
- The Need for Svaran
- Key Features
- Tech Stack & Architecture
- Local Setup & Installation
- Future Improvements
- License
University websites often have vast amounts of information spread across multiple pages. Users—especially new students or visitors—frequently struggle to find quick and specific answers.
Common questions include:
- Course structure and academic policies.
- Faculty office locations and consultation hours.
- Facilities like library, hostels, and medical center.
- Administrative procedures and grading rules.
Svaran solves this by acting as a centralized, conversational interface, available 24/7. It streamlines access to information, reduces administrative burden, and improves the overall campus experience.
- 🔍 Natural Language Understanding (NLU): Understands queries in natural language using Rasa, identifying intent and extracting entities.
- 🌐 Multilingual Support: Communicates in multiple languages via real-time translation.
- 🧠 Context-Aware Conversations: Remembers context for seamless multi-turn interactions.
- 📚 Comprehensive Knowledge Base: Trained to respond to academic, facility, and administrative questions.
- 💬 Modern & Responsive UI: Built with React + Vite for a sleek, mobile-friendly interface.
- ⚙️ Scalable Architecture: Decoupled frontend and backend allow independent scaling and development.
Svaran is built with a modular full-stack architecture:
- Frontend: React + Vite (for UI)
- Backend: Flask (for API) + Rasa (for NLP and core chatbot logic)
- Rasa Action Server: Handles custom Python logic
- Optional Add-ons: PostgreSQL (future DB), GitHub Actions (CI/CD)
git clone https://github.com/yourusername/svaran.git
cd svarancd backend
python -m venv venvActivate the virtual environment:
-
On Windows:
venv\Scripts\activate
-
On macOS/Linux:
source venv/bin/activate
pip install -r requirements.txtrasa trainOpen a new terminal, navigate to the backend, and activate the environment again:
cd backend
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
rasa run actions✅ Keep this terminal running. It will listen on port 5055.
Open another new terminal, and run the main server:
cd backend
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
python app.pyThis will start:
- 🧠 Rasa Server at: http://localhost:5005
- 🔗 Flask API at: http://localhost:8080
Open a third terminal and set up the frontend:
cd frontend
npm install
npm run devThis starts the React app at: http://localhost:5173
- 🔌 Backend API: http://localhost:8080
- 💬 Frontend App: http://localhost:5173
Open your browser and navigate to http://localhost:5173 to start chatting with Svaran.
Here are some enhancements planned for upcoming releases:
-
🗃️ Database Integration
Add PostgreSQL to store user queries, feedback, and dynamic content. -
🔐 User Authentication
Allow personalized experiences for students, faculty, and admin users. -
🔁 CI/CD Pipeline
Automate testing and deployment using GitHub Actions. -
📊 Analytics Dashboard
Monitor chatbot usage, failed queries, and improve NLU performance based on data.
This project is licensed under the MIT License. See the LICENSE file for full details.
🚀 Made with ❤️ for the IIT Jammu community.