Skip to main content

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

Students at Akdeniz University struggle to access scattered information:
Existing solutions require:
  • Checking multiple websites daily
  • Asking repetitive questions in group chats
  • Waiting for human responses
Our solution: A unified AI chatbot that aggregates all information sources.

Solution: ChatbotForCse

A unified AI-powered chatbot accessible via WhatsApp and Mobile App.

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

See Implementation for detailed setup instructions.