UniAssist Pro is an AI-powered student support system designed to streamline university services by integrating multiple systems through an Enterprise Service Bus (ESB) architecture.
It enables students to interact with a centralized chatbot for academic queries, reducing manual effort and improving efficiency.
An intelligent student support chatbot demonstrating enterprise-grade architecture for a hackathon MVP
- Chatbot-based support
- Academic assistance
- User-friendly interface
- Python
- Flask / FastAPI (if used)
- HTML, CSS, JavaScript
This project was developed as part of a team-based implementation of an AI-powered student support system.
- Led the team as Team Lead, coordinating development and ensuring project alignment
- Defined and structured the system requirements and overall solution architecture
- Contributed to designing the AI-driven student support workflow
- Actively worked on project documentation and presentation (PPT)
- Supported implementation planning and system integration decisions
# 1. Install dependencies
pip install -r requirements.txt
# 2. Run the server
uvicorn app.main:app --reload
# 3. Open in browser
# API Docs: http://localhost:8000/docsDemo Login:
- Username:
sarah.johnson@techedu.edu - Password:
demo123
| Feature | Description | Status |
|---|---|---|
| ✅ Student Authentication | JWT-based login system | Mocked (demo users) |
| ✅ Submit Queries | Natural language questions | Working |
| ✅ AI Response | Intent classification + response | Rule-based (mocked) |
| ✅ Unified Student Data | Aggregated from multiple systems | Mocked (ESB pattern) |
| ✅ Query Logging | Track all interactions | In-memory |
| ✅ Admin Analytics | View metrics and KPIs | Working |
| ✅ ESB Integration | Enterprise service bus demo | Simulated |
┌─────────────────────────────────────────────────────────────────────────┐
│ CLOUD LAYER │
│ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐ │
│ │ API Gateway │ │ AI Service │ │ Analytics │ │
│ │ (FastAPI) │ │ (Rule-based) │ │ Dashboard │ │
│ └───────┬───────┘ └───────┬───────┘ └───────┬───────┘ │
└──────────┼──────────────────┼──────────────────┼────────────────────────┘
│ │ │
└──────────────────┼──────────────────┘
│
┌─────────────────────────────▼───────────────────────────────────────────┐
│ ENTERPRISE SERVICE BUS (ESB) │
│ • Message Routing • Data Transformation • Security │
└─────────────────────────────┬───────────────────────────────────────────┘
│
┌─────────────┬───────────┼───────────┬─────────────┐
│ │ │ │ │
┌───▼───┐ ┌─────▼─────┐ ┌───▼───┐ ┌─────▼─────┐ ┌─────▼─────┐
│Admiss-│ │ Academic │ │Financ-│ │ Housing │ │ Directory │
│ ions │ │ Records │ │ ial │ │ System │ │ Services │
│(SOAP) │ │ (JDBC) │ │(REST) │ │ (REST) │ │ (LDAP) │
└───────┘ └───────────┘ └───────┘ └───────────┘ └───────────┘
[============ ON-PREMISE SYSTEMS ============]
student-support-system/
├── app/
│ ├── __init__.py
│ ├── main.py # FastAPI application & routes
│ ├── models/
│ │ └── schemas.py # Pydantic data models
│ ├── services/
│ │ ├── auth_service.py # JWT authentication
│ │ ├── ai_service.py # Intent classification & responses
│ │ ├── esb_service.py # ESB integration layer
│ │ └── analytics_service.py # Metrics & logging
│ └── data/
│ └── mock_database.py # In-memory mock data
├── requirements.txt # Python dependencies
├── Dockerfile # Optional container build
└── README.md # This file
| Component | MVP Implementation | Production Implementation |
|---|---|---|
| AI/NLP | Keyword matching + templates | GPT-4 / Azure OpenAI |
| Database | In-memory Python dicts | PostgreSQL + Snowflake |
| Authentication | JWT with mock users | Azure AD / Okta SSO |
| ESB | Simulated integration | MuleSoft / Azure Service Bus |
| Analytics | In-memory logging | Azure Event Hubs + Power BI |
Why Mock?
- ✅ No API keys required
- ✅ Zero cost for demo
- ✅ Instant setup
- ✅ Predictable behavior for presentation
- ✅ Focus on architecture, not external services
Load Balancer
│
├── API Instance 1 (Azure App Service)
├── API Instance 2 (Azure App Service)
└── API Instance N (Auto-scaled)
│
Redis Cache (Azure Cache)
│
ESB Gateway (MuleSoft)
│
┌───────┴───────┐
│ │
On-Premise Cloud Data
Systems Warehouse
- API Layer: Azure App Service with auto-scaling (0-100+ instances)
- AI Processing: Azure OpenAI with rate limiting and queuing
- Data: Read replicas for queries, write to primary
- Cache: Redis for frequently accessed student profiles
- ESB: Message queues for async processing
The ESB decouples cloud services from on-premise legacy systems:
- Protocol Translation: Convert SOAP/XML to REST/JSON
- Security: Single authentication point
- Reliability: Retry logic, circuit breakers
- Monitoring: Centralized logging
- Compliance: Data masking for FERPA/PCI
Student asks: "When is my financial aid disbursement?"
1. API receives query → JWT validated
2. ESB routes to Financial Aid system (on-premise)
3. ESB transforms response (XML → JSON)
4. AI service generates personalized response
5. Analytics logs the interaction
6. Response returned to student
- API Gateway & Load Balancers
- AI/ML Processing
- Analytics & Dashboards
- Caching (Redis)
- CDN for static assets
- Admissions System - FERPA compliance
- Academic Records - FERPA compliance
- Financial Aid - PCI-DSS compliance
- Housing System - Institutional data
- Active Directory - Identity management
- Compliance: FERPA requires educational records on-premise
- Legacy Systems: Can't easily migrate mainframe systems
- Security: Sensitive financial data stays local
- Latency: Some operations need local speed
| Endpoint | Method | Description |
|---|---|---|
/ |
GET | API info and status |
/health |
GET | Health check |
/token |
POST | Login (OAuth2) |
/api/chat |
POST | Submit query to AI |
/api/students/{id} |
GET | Get student profile |
/api/analytics |
GET | System metrics |
/api/esb/status |
GET | ESB integration status |
/api/knowledge-base |
GET | View FAQ content |
/docs |
GET | Swagger documentation |
curl -X POST "http://localhost:8000/token" \
-d "username=sarah.johnson@techedu.edu&password=demo123"curl -X POST "http://localhost:8000/api/chat" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"student_id": "STU2024001", "message": "When is my financial aid disbursement?"}'curl "http://localhost:8000/api/analytics" \
-H "Authorization: Bearer YOUR_TOKEN""Students spend 15+ minutes per query navigating multiple systems. This costs universities $25 per human-handled inquiry."
"UniAssist provides an AI-powered chatbot that integrates with legacy systems through an ESB, answering 73% of queries automatically."
"Our hybrid architecture keeps sensitive data on-premise for compliance while leveraging cloud AI for scalability."
"At 73% automation, we project $91,000 monthly savings with 85% ROI in year one."
"The MVP demonstrates the complete architecture. Production deployment uses the same patterns with real AI and databases."
# Build image
docker build -t uniassist-pro .
# Run container
docker run -p 8000:8000 uniassist-pro
# Access at http://localhost:8000| Username | Password | Role | Student ID |
|---|---|---|---|
| sarah.johnson@techedu.edu | demo123 | Student | STU2024001 |
| michael.chen@techedu.edu | demo123 | Student | STU2024002 |
| emily.rodriguez@techedu.edu | demo123 | Student | STU2024003 |
| admin@techedu.edu | admin123 | Admin | - |
- Open http://localhost:8000/docs
- Click "Authorize" → Enter demo credentials
- Try POST
/api/chatwith:{ "student_id": "STU2024001", "message": "What's my GPA?" } - Show GET
/api/analyticsfor metrics - Show GET
/api/esb/statusfor architecture demo
✅ Hybrid cloud with ESB is industry standard
✅ Feasibility - Runs locally in 30 seconds, production-ready patterns
✅ Clean Explanation - Every file has architecture comments
✅ Low Risk - No external APIs, no secrets, no complex setup
✅ High Clarity - Clear separation of concerns, documented flows
You can view the complete project presentation here:
This presentation includes:
- Problem statement
- System architecture
- Solution design
- Business value and impact