A multi-agent AI system designed to help students manage schedules, track emotional well-being, and plan study sessions. The system utilizes Google's Gemini models and the Agent Development Kit (ADK).
uninav_agent/: The main orchestrator agent that routes user requests.emotion_checker_agent/: Analyzes user sentiment and logs burnout scores.calendar_agent/: Retrieves schedule and events.planner_agent/: Creates study plans based on context.tools/: Custom Python tools (Mood logger, Calendar fetcher).uni-navigator-ui/: A Flask-based web interface for the agents.main.py: CLI entry point.
- Python 3.10+ installed.
- A Google Gemini API Key. Get one at aistudio.google.com.
- Clone the repository
git clone https://github.com/MdMujahith/UniNavigator.git cd UniNavigator - Create a Virtual Environment (Recommended):
Activate the Virtual Environment
python -m venv venv
# Windows: venv\Scripts\activate # Mac/Linux: source venv/bin/activate
- Install Dependencies:
pip install -r requirements.txt
- Set up Environment Variables: Create a
.envfile in the root directory:GEMINI_API_KEY=your_actual_api_key_here
-
Option 1: Terminal Mode (CLI)
Run the interactive chat directly in your command line.
python main.py
Type
exitto quit the chat. -
Option 2: Custom Web UI (Flask)
Launch the custom-styled chat interface included in this project.
Navigate to the root directory.
Run the Flask app as a module (ensures imports work correctly):
python -m uni-navigator-ui.app
(Note: Ensure you have
__init__.pyfiles in your folders, or simply runpython uni-navigator-ui/app.pyif your PYTHONPATH is set).Open your browser to: http://127.0.0.1:5000
-
Option 3: Google ADK Web UI
To run this using the standard Agent Development Kit visualizer:
Ensure you have the ADK installed:
pip install google-adkRun the ADK server pointing to your main agent:
adk run uninav_agent/agent.py:uni_navigator_agentOR
adk webon
root_directoryFollow the URL provided in the terminal (usually http://localhost:3000).
The emotion_checker_agent stores mood data in a user_memory.json file at the project root, which serves as a local User_Emotion database for development. The calendar tool reads from the sample_calendar.json file as mock calendar data, which can later be replaced with the Google Calendar API for real-time calendar integration.

