CSE-351 Design Patterns Term Project
ChatbotForCse is an AI-powered assistant designed for Akdeniz University Computer Science students. This project demonstrates the practical application of three core design patterns.Strategy Pattern
Dynamic algorithm selection for intent classification and context fetching
Factory Pattern
OCP-compliant object creation with dictionary-based registry
Singleton Pattern
Thread-safe resource management for database and LLM clients
Layered Architecture
Clean separation of API, Service, Domain, and Data layers
Problem Statement
The Challenge
The Challenge
Students at Akdeniz University struggle to access scattered information:
Why This Project?
Why This Project?
Existing solutions require:
- Checking multiple websites daily
- Asking repetitive questions in group chats
- Waiting for human responses
Solution: ChatbotForCse
A unified AI-powered chatbot accessible via WhatsApp and Mobile App.- Features
- Tech Stack
- Architecture
Dining Menus
Scrapes weekly menus from SKS, parses images using Gemini Vision
Announcements
Tracks and delivers department news in real-time
Intelligent Q&A
Uses Gemini and Ollama for general questions
Multi-Channel
Live on WhatsApp, API ready for mobile
Design Pattern Summary
Each pattern solves a specific problem in our architecture. Click the cards above to learn more.
Quick Start
1
Clone Repository
2
Start Backend
3
Start WhatsApp Client