CMU-Africa Campus Assistant
# 🎓 CMU-Africa Campus Assistant
A modern, full-stack AI-powered campus assistant built with RAG (Retrieval-Augmented Generation) technology for CMU-Africa students, faculty, and staff.
## 🌟 Features
### Frontend (React + TypeScript + Tailwind CSS)
- ✨ **Modern, Student-Friendly UI**: Beautiful, responsive design optimized for mobile and desktop
- 💬 **Real-Time Chat Interface**: Smooth conversational experience with message history
- 🎯 **Smart Suggestions**: Contextual suggestion pills displayed ABOVE the input box
- 📚 **Collapsible Sources**: Expandable source citations for transparency
- 🔄 **Follow-Up Questions**: AI-generated follow-up suggestions as clickable buttons
- 🎨 **Attractive Design**: CMU-branded colors with smooth animations
### Backend (Python FastAPI)
- 🤖 **Strict RAG Pipeline**: No hallucination - only context-based responses
- 🔍 **Vector Search**: Pinecone integration for semantic search
- 🧠 **OpenAI Integration**: GPT-4 for intelligent response generation
- 📊 **Structured JSON Responses**: Consistent format with answer, sources, suggestions, and follow-ups
- 🛡️ **Error Handling**: Robust fallback mechanisms
- 🚀 **Fast & Scalable**: Async FastAPI for high performance
### Key Capabilities
- **Academic Information**: Programs, courses, requirements
- **Transportation**: Shuttle schedules, routes, tracking
- **Campus Life**: Events, clubs, activities
- **Housing**: Options, applications, availability
- **General Inquiries**: Library hours, contact info, facilities
## 📁 Project Structure
```
cmu-africa-campus-assistant/
├── backend/
│ ├── main.py # FastAPI application
│ ├── rag_pipeline.py # Enhanced RAG pipeline
│ ├── requirements.txt # Python dependencies
│ ├── .env.example # Environment variables template
│ └── load_knowledge_base.py # Script to load sample data
├── frontend/
│ ├── public/
│ │ └── index.html
│ ├── src/
│ │ ├── components/ # React components
│ │ │ ├── C …