0% found this document useful (0 votes)
19 views57 pages

Final Reportgrp

The document is a project report for 'CampusGuide: AI Driven College Chatbot' submitted by students at KMCT College of Engineering for their Bachelor of Technology degree. It outlines the development of an AI-powered chatbot designed to enhance student access to academic information, streamline communication, and reduce administrative burdens. The report includes acknowledgments, an abstract detailing the chatbot's functionalities, and a comprehensive overview of the project's objectives, scope, and technological framework.

Uploaded by

amonlohith2255
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views57 pages

Final Reportgrp

The document is a project report for 'CampusGuide: AI Driven College Chatbot' submitted by students at KMCT College of Engineering for their Bachelor of Technology degree. It outlines the development of an AI-powered chatbot designed to enhance student access to academic information, streamline communication, and reduce administrative burdens. The report includes acknowledgments, an abstract detailing the chatbot's functionalities, and a comprehensive overview of the project's objectives, scope, and technological framework.

Uploaded by

amonlohith2255
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 57

CAMPUSGUIDE: AI DRIVEN COLLEGE CHATBOT

A PROJECT REPORT

submitted by

ABHINAND M (LKMC21CS053)
MUHAMMED AMAN TK (KMC21CS031)
NEERAJ CK (LKMC21CS056)
SUFAIL SALIM (KMC21CS049)

to

The APJ Abdul Kalam Technological University

In partial fulfillment of the requirements for the award of the Degree

Of

Bachelor of Technology
In
Computer Science and Engineering

Department of Computer Science and Engineering

KMCT COLLEGE OF ENGINEERING


KOZHIKODE
2024 - 2025
DECLARATION

We undersigned hereby declare that the project report “CAMPUSGUIDE: AI DRIVEN


COLLEGE CHATBOT”, submitted for partial fulfillment of requirements for the award of
degree of Bachelor of Technology of the APJ Abdul Kalam Technological University, Kerala is a
bonafide work done by us under supervision of Mrs.NAJIYA NASRIN K, Assistant Professor,
Computer Science and Engineering, KMCT College of Engineering. This submission
represents our ideas in our own words and where ideas or words of others have been included, We
have adequately and accurately cited and referenced the original sources. We also declare that We
have adhered to ethics of academic honesty and integrity and have not misrepresented or fabricated
any data or idea or fact or source in our submission. We understand that any violation of the above
will be a cause for disciplinary action by the institute and/or the University and can also evoke
penal action from the sources which have thus not been properly cited or from whom proper
permission has not been obtained. This report has not been previously formed the basis for the
award of any degree, diploma or similar title of any other University.

Place: Kallanthode
Date: 25-03-25
ABHINAND M
MUHAMMED AMAN TK
NEERAJ CK
SUFAIL SALIM

I
DEPARTMENT OF COMPUTER SCIENCE AND
ENGINEERING KMCT COLLEGE OF ENGINEERING,
KOZHIKODE

CERTIFICATE

This is to certify that the report entitled “CAMPUSGUIDE: AI DRIVEN COLLEGE


CHATBOT” Submitted by SUFAIL SALIM (KMC21CS049), NEERAJ
CK(LKMC21CS056), ABHINAND M (LKMC21CS053), MUHAMMED AMAN TK
(KMC21CS031), to the APJ Abdul Kalam Technological University in partial fulfillment of the
requirements for the award of the Degree of Bachelor of Technology in Computer science and
engineering is a bonafide record of the project work carried out by them under our guidance and
supervision. This report in any form has not been submitted to any other University or Institute
for any purpose.

Project Guide External Examiner


Mrs. NAJIYA NASRIN K
Assistant Professor
Dept of CSE

Project Coordinator Head of the Department


Mrs. DIVYA RK Mrs. NILOVENA KV
Assistant Professor Dept of CSE
Dept of CSE

II
ACKNOWLEDGEMENT

Firstly, We would like to express our sincere gratitude to our principal Dr. Sabiq P V for
providing such quality facilities in our esteemed institution for our project work.

We would like to express our sincere gratitude to Mrs. Nilovena K V, Head of the
Department, Computer Science and Engineering, KMCT College of Engineering for being a
great force behind all our efforts through timely advice, guidance, and words of encouragement.

We extend our sincere gratitude to our project guide Mrs. Najiya Nasrin K, Assistant
Professor, Computer Science and Engineering, KMCT College of Engineering for all kinds
of cooperation, guidance and help rendered throughout our seminar. And We also express our
thanks to all teaching and nonteaching staff for their valuable advice and help to move forward
with the project work.

We express our heartfelt gratitude to the project coordinator, Ms.Divya RK, Assistant
Professor, Computer Science and Engineering, KMCT College of Engineering for her
valuable direction and constant motivation which helped in doing the project with utmost
dedication and presence of mind.

Above all, We thank the Almighty without whose grace our endeavors would not have been a
success.

ABHINAND M
MUHAMMED AMAN TK
NEERAJ CK
SUFAIL SALIM

III
ABSTRACT

The integration of artificial intelligence (AI) and natural language processing (NLP) in academic
environments has revolutionized how students access information. CampusGuide is an AI-powered
chatbot designed to provide students at KMCT College of Engineering with instant access to
essential academic data, such as attendance records and assignment details. By eliminating the
need for manual navigation through multiple web portals, CampusGuide enhances both user
experience and operational efficiency.

The chatbot backend is developed using Flask, a lightweight web framework, with Flask-CORS
enabling cross-origin requests. The system utilizes Google’s Gemini AI to generate responses
dynamically while leveraging a structured intent-matching approach using a JSON-based dataset.
If a query does not match predefined patterns, the chatbot intelligently escalates it to the AI model
for response generation. Additionally, unhandled queries are logged for continuous model
refinement, ensuring improved future interactions.

CampusGuide securely retrieves student attendance and assignment details through ETLAB
integration, facilitating seamless access to academic records. The chatbot requests authentication
credentials when necessary, ensuring secure transactions. To enhance reliability, the system
incorporates robust error-handling mechanisms, addressing API failures, incorrect credentials, and
data retrieval issues effectively. The chatbot is deployed as a web-based application with an
intuitive UI, providing students with easy access to their academic data on any device. Its 24/7
availability reduces administrative dependency, ensuring uninterrupted service.

Future improvements aim to expand chatbot capabilities with advanced AI models for improved
contextual understanding, enhanced student support, and integration with broader campus services
such as faculty interactions and real-time academic updates.
By bridging the gap between academic management systems and intelligent AI solutions,
CampusGuide redefines digital academic assistance, offering an efficient, scalable, and user-
friendly approach to student support services.
.

IV
CONTENTS

Contents Page No.

ACKNOWLEDGMENT iii

ABSTRACT iv
LIST OF FIGURES vii

CHAPTER 1 : INTRODUCTION

1.1 General Background 1


1.2 Existing System 2

1.2.1 Disadvantages of Existing System 2

1.3 Objective 3

1.4 Scope 4

CHAPTER 2 : LITERATURE SURVEY

2.1 AI and Web Based Interactive College Enquiry Chatbot. 5

2.2 VOID - An Assistant (Chatbot) for Education Queries System 6

2.3 Smart Chatbot for College Information Enquiry Using Deep Neural
Network 7

2.4 Google Gemini As a Next Generation AI Educational Tool 8

2.5 Advanced NLP Models For Technichal University Information Chatbots 9

CHAPTER 3 : REQUIREMENT STUDY AND ANALYSIS

3.1 Feasibility Study 10

3.1.1 Operational Feasibility 12

3.1.2 Technical Feasibility 13


3.1.3 Economic Feasibility 15
3.1.4 Behavioural Feasibility 16
3.2 Project Plan 16

V
3.3 Proposed System 17

3.4 Specification and Requirements 17

3.4.1 Functional Requirements 17

3.4.2 Non Functional Requirements 18

3.4.3 System Requirements 18

3.4.4 User Requirements 18

3.4.5 Software Requirements 19

CHAPTER 4 : SYSTEM DESIGN AND DEVELOPMENT

4.1 Design Constraints 20

4.1.1 Hardware Requirements 20

4.1.2 Software Limitations 20

4.1.3 Real Time Processing 20

4.1.4 Scalability 20

4.1.5 Cost And Resources 21

4.1.6 User Privacy And Ethics 21

4.1.7 Interface Design 21

4.1.8 Team Expertise 21

4.1.9 System Capabilities 21

4.2 Reserch Methodology 21

4.2.1 Problem Identification 22

4.2.2 Literature Review 22

4.2.3 Objective Fromulation 22

4.2.4 Data Collection 22

4.2.5 Data Preprocessing 22

VI
CHAPTER 5 : SYSTEM DESIGN AND DEVELOPMENT

5.1 System Architecture 23

5.2 Activity Diagram 25

5.3 Data Flow Diagram 27

5.4 Flowchart 29

CHAPTER 6 : SYSTEM IMPLEMENTAION

6.1 System Configuration 30

6.1.1 Software Requirements 30

6.1.2 Hardware Requirements 30

6.2 Code 31

6.2 Result 42

CHAPTER 7 : CONCLUSION AND FUTURE SCOPE

7.1 Conclusion 44

7.2 Future Scope 45

REFERENCES viii

VII
LIST OF FIGURES

Figure No Name of the Figure Page No


Figure 5.1 System Architecture 17

Figure 5.2 Activity Diagram 19

Figure 5.3.1 DFD Level 0 21

Figure 5.3.2 DFD Level 1 22

Figure 5.3.3 DFD Level 2 22

Figure 5.4 Flowchart 23

Figure 6.3.1 Chatbot Interface 42

Figure 6.3.2 Attendance 42

Figure 6.3.3 Assignments 43

Figure 6.3.4 Exam Score 43

VII
I
Campus Guide Project 2024-25

CHAPTER 1
INTRODUCTION

1.1 General Background

In today’s digital age, students increasingly rely on quick and easy access to academic information,
yet many university systems remain fragmented and challenging to navigate. Traditional methods
of obtaining academic data—such as scores, attendance records, and course information—often
involve navigating multiple websites, repeated logins, and long wait times, which can frustrate
students and disrupt their productivity. The CampusGuide project addresses these inefficiencies by
introducing an AI-driven chatbot designed to serve as a centralized, responsive resource for
students’ academic needs.

CampusGuide combines advanced AI and NLP technologies to provide students with immediate
access to critical information without the need to browse multiple platforms. By integrating with
campus systems and delivering 24/7 availability, CampusGuide aims to enhance user experience
and streamline academic data retrieval. This chatbot offers a single, accessible platform that caters
to a wide range of student queries, from checking attendance to viewing internal exam results,
freeing up administrative resources and allowing students to focus on their learning.

Beyond convenience, CampusGuide’s AI-powered responses are personalized, adapting to the


specific needs of each student by recognizing individual user intents and providing accurate,
contextually relevant answers. The chatbot’s ability to understand and respond to varied queries
helps foster an inclusive and efficient academic environment, empowering students to manage their
academic responsibilities with greater ease. In doing so, CampusGuide reflects a broader
commitment to using AI in education, demonstrating how technology can break down traditional
barriers to information access and support student success in meaningful ways.

Dept Of CSE 1 KMCTCE


Campus Guide Project 2024-25

1.2 Existing System

Academic information systems today primarily depend on university websites and portals,
requiring students to navigate numerous pages and log in multiple times. While these methods
allow students to view essential information, the complex navigation and lack of centralization
hinder the user experience, especially when students need quick access. Additionally, these
systems typically rely on an internet connection and web-only interfaces, limiting accessibility
for students who need mobile or offline access. For more specific or urgent queries, students
often depend on administrative support, but this assistance can be delayed due to high staff
workloads.

Another limitation is the inconsistency in user interfaces across different platforms, which can
make it difficult for students to find information efficiently, especially if the interface is outdated
or poorly organized. Furthermore, existing systems generally lack personalization, offering a
one- size-fits-all approach that forces students to sift through irrelevant information to find what
they need. While some schools have attempted to implement automated FAQ systems, these
often fall short in providing real-time, contextually relevant responses, especially during peak
periods like exams.

These challenges highlight the need for an AI-driven chatbot like CampusGuide, which provides
students with a responsive, personalized, and centralized system for accessing academic data,
improving both accessibility and user experience.

1.2.1 Disadvantages Of Existing System


● Complex Navigation and Multiple Logins
● Minimal Real-Time Support and Interaction
● Dependency on Human Assistance
● Slow Response Times and High Administrative Burden

Dept Of CSE 2 KMCTCE


Campus Guide Project 2024-25

1.3 Objective

The core objective of CampusGuide is to transform access to academic information for students,
delivering a centralized, efficient solution for retrieving scores, attendance, and other essential
data. Current university websites and portals, while useful, often involve complex navigation and
fragmented information access, resulting in a time-consuming process for students. By leveraging
advanced AI technology, CampusGuide simplifies the data retrieval experience, providing instant,
accurate responses through Natural Language Processing (NLP) and real-time updates, thereby
empowering students to access academic information without hassle.

CampusGuide also aims to enhance communication within the campus by reducing the dependency on
administrative staff for routine inquiries. The chatbot offers an autonomous, user-friendly platform
that answers common questions and resolves issues, streamlining the workload for campus
administrators. This design fosters a more responsive academic environment, ensuring students
have the resources they need without delays.

A critical goal of the system is to increase accessibility by offering 24/7 availability and mobile
integration, enabling students to interact with CampusGuide anytime and from any device. This
round-the-clock access ensures that students can find the information they need, whether during
peak times like exams or when they cannot access a computer. By making academic resources
available at any hour, CampusGuide strives to support student productivity and engagement
throughout their academic journey.

Dept Of CSE 3 KMCTCE


Campus Guide Project 2024-25

1.4 Scope

A key component of CampusGuide's scope is its capacity to improve academic accessibility and
foster campus engagement. By offering a centralized platform for retrieving academic
information, CampusGuide enables students to independently access essential data, such as
scores, attendance, and announcements, without navigating multiple websites or relying heavily
on administrative staff. This streamlined access not only promotes student self-sufficiency but
also strengthens the campus community by facilitating more efficient interactions. Additionally,
by reducing the routine workload on administrative personnel, CampusGuide allows staff to focus
on complex, value- adding tasks, creating a more responsive and connected academic
environment.

From a technological perspective, CampusGuide is designed for scalability and flexibility. Built
using the Rasa framework and Python, it is compatible across mobile and desktop platforms, with
the ability to incorporate future AI advancements, such as voice recognition and multilingual
support, broadening its accessibility to a diverse student base. Its cloud-based architecture also
enables it to handle growing data and user demands, ensuring that CampusGuide can adapt to the
evolving needs of the university.

Ultimately, CampusGuide envisions a future where accessing academic information is intuitive


and seamless. With potential partnerships with other universities or educational technology
providers, CampusGuide could set a benchmark for AI-driven academic support. By blending
innovative technology with a student-centric approach, CampusGuide seeks to redefine
information accessibility within educational institutions, making academic support more
comprehensive and accessible for all.

Dept Of CSE 4 KMCTCE


Campus Guide Project 2024-25

CHAPTER 2

LITERATURE SURVEY

2.1AI And Web-Based Interactive College Enquiry Chatbot


Rohan Parker,Yash Payare, Keyur Mithari, Jitesh Nambiar, Jaya Gupta, 2021

This research focuses on a web-based chatbot designed to assist students with inquiries related to
college information. The chatbot uses Natural Language Processing (NLP) and AI to
communicate with users and provide relevant responses. The study highlights how chatbots can
enhance user interaction by supplying course details, academic calendar links, and frequently
asked questions. Traditional inquiry systems require human intervention, but this chatbot operates
autonomously and is available 24x7, allowing multiple users to interact with it simultaneously.
The research references earlier chatbot models such as "Eliza" and "Cleverbot" while
demonstrating improvements in handling student-specific queries.

A key advantage of this chatbot is its accessibility, as it allows students to obtain information
directly from the college website without waiting in long queues or browsing multiple pages.
Additionally, the chatbot ensures polite and structured interactions, eliminating the emotional
variations that come with human communication. However, the chatbot lacks real-time database
connectivity, limiting its ability to fetch dynamic academic data such as attendance records and
exam scores. It primarily focuses on predefined queries and does not incorporate deep learning
techniques for adaptive responses.

This paper supports our project by demonstrating the necessity of chatbot integration in academic
institutions. Our chatbot extends its capabilities by incorporating real-time student data retrieval,
ensuring that users can access personalized academic details. Furthermore, it leverages more
advanced NLP models to handle complex queries efficiently. This research provides a foundation
for chatbot implementation, and our project enhances its capabilities by improving accuracy,
incorporating humor for engagement, and ensuring seamless API integration with institutional
databases.

Dept Of CSE 5 KMCTCE


Campus Guide Project 2024-25

2.2 VOID – An Assistant (Chatbot) for Education Query System.


Debaissh Chakraborty, Anjana Mishra, Vikash Kumar, Saloni Singh, Harshita Hani, 2022

This research discusses the role of AI-powered chatbots in reducing administrative workload and
improving student interaction in the education sector. The study highlights how chatbots provide
instant query resolution, particularly during peak admission periods when college reception areas
are crowded. Traditional college websites often fail to provide direct answers to specific student
inquiries, leading to confusion. The chatbot proposed in this paper aims to create an interactive
platform where students can receive responses in real time without human intervention.

One of the key advantages of this chatbot is its ability to automate routine queries, reducing the
dependency on administrative staff. Additionally, it enhances user experience by providing
structured responses that eliminate ambiguity. However, the study lacks a detailed technical
implementation of the chatbot, making it more of a conceptual discussion rather than a full-
fledged technical solution. It does not provide insights into how the chatbot connects with student
databases or dynamically retrieves academic records. Furthermore, it does not specify whether the
chatbot utilizes advanced NLP techniques for handling complex queries.

Our project builds upon this research by offering a chatbot that not only responds to general
queries but also retrieves personalized academic data, such as attendance and exam scores. Our
chatbot integrates structured databases, ensuring that student-specific inquiries are handled
accurately.

Dept Of CSE 6 KMCTCE


Campus Guide Project 2024-25

2.3 Smart Chatbot for College Information Enquiry Using Deep Neural
Network
Channabasamma, Lakshmi Soumya P, Nooka Swetha, Mukkari Indu, 2023

This paper presents a chatbot designed to assist students and parents in retrieving college-related
information through an AI-driven web application. Unlike previous chatbot models that relied on
simple rule-based or traditional NLP approaches, this study integrates deep learning using a deep
neural network (DNN) trained with PyTorch. The chatbot is implemented using the Flask
framework, and its front-end is designed using HTML and CSS. The study emphasizes the
importance of an interactive and intelligent chatbot capable of understanding natural language
queries more effectively than conventional approaches.

One of the key features introduced in this research is the chatbot’s ability to assist users with
institutional information, including details about administration, departments, and events. The use
of deep learning enables the chatbot to improve its responses over time based on user interactions.
However, despite these advancements, the study does not mention real-time database integration
for fetching academic records such as attendance and exam scores. Moreover, while the chatbot
utilizes deep neural networks, there is no mention of reinforcement learning techniques that could
further enhance its adaptability.

Our project extends this research by integrating real-time student database access, ensuring that
users can retrieve personalized academic information. Additionally, our chatbot incorporates
advanced NLP techniques beyond deep learning, such as contextual awareness, allowing for more
natural and dynamic interactions. This study introduces deep learning for chatbot responses, and
our project refines it by focusing on academic data retrieval and improving engagement with
creative interaction elements.

Dept Of CSE 7 KMCTCE


Campus Guide Project 2024-25

2.4 Google Gemini as a Next-Generation AI Educational Tool: A


Review of Emerging Educational Technology
Muhammad Imran, Norah Almusharraf, 2024

This paper reviews Google Gemini as an emerging AI tool with potential applications in
education. The study highlights Gemini’s ability to process various types of data, making it a
versatile AI-driven educational assistant. It discusses the tool’s capacity to generate diverse
content and adapt to different educational needs, including personalized learning and academic
assistance. Additionally, the research explores the integration of Gemini into the educational
landscape, analyzing recent empirical studies and technological advancements.

A key advantage of this study is its comprehensive overview of Gemini’s capabilities,


demonstrating how AI can revolutionize learning experiences. The research discusses Gemini’s
role in educational technology and ethical considerations in AI deployment. While the study
explores various aspects of Gemini’s potential, it does not focus specifically on chatbot
implementations for academic inquiries. However, its findings reinforce the importance of AI in
academic support systems.

Our project integrates Gemini AI to enhance chatbot responses, allowing for more natural and
sophisticated interactions. By leveraging Gemini’s advanced AI capabilities, our chatbot can
provide more accurate and context-aware responses, improving the overall user experience. This
integration ensures a more advanced AI-driven academic assistant capable of handling complex
queries efficiently.

Dept Of CSE 8 KMCTCE


Campus Guide Project 2024-25

2.5. Advanced NLP Models for Technical University Information Chatbots:


Development and Comparative Analysis (2024)
Girija Attigeri, Ankit Agrawal, Sucheta Kolekar, 2024

This research explores the application of advanced NLP models in chatbot development,
specifically for university information retrieval. The study highlights the challenges students face
in obtaining accurate and official information from various sources, particularly during the
admission process. The research compares multiple chatbot models, including neural networks,
TF-IDF vectorization, sequential modeling, and pattern matching, to determine the most efficient
approach for handling student queries. The results indicate that sequential modeling provides the
best accuracy while preventing overfitting, making it the most reliable model for chatbot
development.

A key strength of this study is its comparative analysis of different NLP techniques, offering
valuable insights into model selection for chatbot implementations. It also emphasizes the
importance of semantic analysis and pattern matching for real-time query resolution. However,
despite its strong theoretical foundation, the research does not address chatbot deployment
challenges, such as database integration or handling ambiguous queries. Additionally, while it
establishes the superiority of sequential modeling, it does not explore real-world testing scenarios
where student queries may require dynamic adaptation.

Our project builds upon this research by implementing an NLP-driven chatbot optimized for real-
time student queries. We integrate academic databases to provide accurate information on
attendance, grades, and schedules, bridging the gap between theoretical NLP models and
practical implementation. Our chatbot applies these findings to create a fully functional
educational assistant. Furthermore, we enhance user experience by incorporating humor and
dynamic responses, making interactions more engaging while maintaining accuracy.

Dept Of CSE 9 KMCTCE


Campus Guide Project 2024-25

CHAPTER 3

REQUIREMENT STUDY AND ANALYSIS

The Campus Guide Chatbot is designed to assist students in accessing academic information
such as attendance, assignments, sessional exams, and module tests in a user-friendly and
efficient manner. To develop a functional and reliable system, a comprehensive requirement
study and analysis was conducted to determine the essential components for its successful
implementation. The chatbot must ensure 24/7 accessibility and provide both text and voice-
based interactions to enhance usability. Secure user authentication is necessary to protect
sensitive academic data while allowing personalized responses based on student credentials.

The system needs a web-based and mobile-compatible chat interface, allowing students to
interact with ease. It should utilize Natural Language Processing (NLP) to understand user
queries and provide relevant responses. The chatbot must integrate with the student database,
which is managed using JSON, to fetch real-time academic data, ensuring accurate and up-to-
date information. For handling general and complex queries, Gemini AI is used to generate
intelligent responses. The chatbot relies on Django for backend development, ensuring secure
data handling and API integration, while the frontend is built using HTML, CSS, and JavaScript
for an interactive experience. Secure API connections are implemented to access attendance and
academic record systems. With these components in place, the chatbot ensures seamless
automation of academic support, improving student engagement and efficiency..

3.1 Feasibility Study


Feasibility study is a test of system proposal according to its workability, impact of the
organization, ability to meet and effective use of resources’ focuses on the requisitions. What
resources are available for a given candidate system ? Is it worth solving the problem ?.

Feasibility Study is an assessment of the practicality of a proposed project or system. It aims to


objectively and rationally uncover the strengths and weaknesses of an existing business or

Dept Of CSE 10 KMCTCE


Campus Guide Project 2024-25
proposed venture, opportunities and threats present in the natural environment, the resources
required to carry through, and ultimately the prospects for success. In simplest terms, the two
criteria to judge feasibility are cost required and value to be attained.

A project feasibility study is a comprehensive report that examines in detail the five frames of
analysis of a given project. It also takes into consideration its four Ps, its risks and POVs, and its
constraints. The goal is to determine whether the project should go ahead, be redesigned, or else
abandoned altogether. Thus, the four feasibilities are:

● Operational feasibility.

● Technical feasibility.

● Economic feasibility.

● Behavioral feasibility.

Dept Of CSE 11 KMCTCE


Campus Guide Project 2024-25

3.1.1 Operational Feasibility


The platform requires only basic minimum hardware and software on the client side. It supports
any operating system with any browser software installed. It is the measure of how well a
proposed system solves the problems, and takes advantage of the opportunities identified during
scope definition and how it satisfies the requirements identified in the requirements analysis
phase of system development. To ensure success, desired operational outcomes must be imparted
during design and development. These include such design-dependent parameters as reliability,
maintainability, supportability, usability, producibility, disposability, sustainability, affordability
and others. These parameters are required to be considered at the early stages of design if desired
operational behaviors are to be realized.

Therefore, operational feasibility is a critical aspect of systems engineering that needs to be an


integral part of the early design phases.

➢ Integration with Educational Institutions:

 Collaboration with Administrators: Work closely with campus administrators to ensure the
chatbot meets the diverse needs of students and integrates with existing systems.
 Feedback Mechanisms: Establish channels for students and faculty to provide feedback on
the chatbot’s performance, leading to iterative improvements.
 Training and Workshops: Offer training sessions for students and staff to familiarize them
with the chatbot, promoting its use and enhancing user acceptance.

Dept Of CSE 12 KMCTCE


Campus Guide Project 2024-25

➢ User Acceptance:

 Intuitive Design: The chatbot's design prioritizes simplicity and accessibility, enabling users
to navigate the system easily and increasing their comfort with the technology.
 Real-Time Responses: By providing immediate answers to academic queries, users will
trust the chatbot as a reliable resource for information.
 Empowerment: The ability to access academic data independently boosts students' confidence
and sense of autonomy, which is crucial for enhancing their educational experience.
 Security Features: Incorporating features such as data privacy and secure access will further
increase user trust and acceptance of the chatbot.

3.1.2 Technical Feasibility


This assessment evaluates the technical feasibility of the CampusGuide chatbot based on an outline
design of system requirements. It focuses on understanding the current technical resources
available within the organization and their suitability for meeting the expected needs of the
proposed system. This evaluation includes an analysis of the hardware, software, and technology
stack required to implement the chatbot effectively.

➢ Technology Stack:
● Frontend Development: The chatbot interface can be developed using HTML,
CSS, and JavaScript, ensuring a responsive design that works seamlessly across
various web browsers and devices.

● Backend Development: The system will utilize the Python programming language
with the Flask framework to manage server-side logic and database interactions
effectively.

● Database Management: JSON will be employed as the database management


system to store user data, chat logs, and academic information securely.

Dept Of CSE 13 KMCTCE


Campus Guide Project 2024-25

● AI and NLP Integration: The chatbot will incorporate AI modules for natural
language processing (NLP) to understand and respond to user queries accurately.
● Libraries such as PyTorch and NLTK can be utilized for building and training the
chatbot's AI capabilities.

➢ Resource Requirements:

● Programming Languages: Python for backend development,


HTML/CSS/JavaScript for
frontend development.
● Frameworks: Django for backend development and Rasa for AI processing.
● Database: JSON for data storage and management.
● Development Environment: A stable development environment set up on either
Windows, Mac, or Linux operating systems.
● Hardware Requirements: The chatbot can be hosted on a server with basic
specifications, such as:
● Processor: Intel i3 or equivalent.
● RAM: 4GB or more for optimal performance.
● Storage: Sufficient space to store the database and application files.

➢ Technical Challenges:

● Integration of AI Libraries: Implementing AI functionalities such as natural


language understanding and intent recognition will require expertise in AI libraries
and frameworks, which may pose a learning curve for the development team.

● Testing Across Platforms: Ensuring compatibility and performance across various


devices and web browsers may present challenges, requiring thorough testing and
potential adjustments in the codebase.

Dept Of CSE 14 KMCTCE


Campus Guide Project 2024-25

● Data Privacy and Security: Safeguarding user data and ensuring compliance with
data protection regulations (e.g., GDPR) will be critical and may require
additional resources for implementing security measures.

● Scalability: The system should be designed to handle increasing user loads as


more students engage with the chatbot, necessitating a scalable architecture that
can accommodate growth without performance degradation.

3.1.3 Economic Feasibility


The economic viability can be judged by total estimated cost of the project, financing of the project in
terms of its capital structure.

➢ Cost-Benefit Analysis:
● Includes costs for software tools, licenses, and paying developers, testers, and
designers to build the app.
● Covers ongoing expenses for hosting, updates, and support to keep the app
running smoothly.

➢ Return on Investment (ROI):


● Growing user adoption and partnerships can generate revenue and boost the app’s
impact and value.

Dept Of CSE 15 KMCTCE


Campus Guide Project 2024-25

3.1.4 Behavioral Feasibility


Before the development of the Project, we need to study the feasibility of the successful execution of
the and thus the following factors are considered for a feasibility study, need analysis, and
provide the users information pertaining to the preceding requirement. Behavioral feasibility is a
scale of how the proposed system solves the problems, to what extent it takes the advantage of
the opportunities identified during scope definition and how much it satisfies the requirements
identified in the requirements analysis phase of system development. The results show an
enhanced level of performance compared to the existing method by using any other algorithm. It
is easily operable. The software programs are more reliable.

3.2 Project Plan

Title - CampusGuide: AI Driven College Chatbot

Objective - AI chatbot for student information and support.

Starting Date - 02-12-

2024 Ending Date(Till Design) - 28-

03-2025

Project Guide - Ms.Najiya Nasrin K

Project Team - Abhinand M, Muhammad Aman TK, Neeraj CK, Sufail Salim

Dept Of CSE 16 KMCTCE


Campus Guide Project 2024-25

3.3 Proposed System

The proposed system for "CampusGuide" is an AI-powered chatbot that assists prospective
students in obtaining real-time information about academic programs, campus facilities, and
administrative processes. Utilizing natural language processing and machine learning, the
chatbot provides accurate responses to student inquiries, streamlining communication and
enhancing the overall user experience.

The chatbot operates 24/7, ensuring students can retrieve essential academic data such as scores
and attendance at any time, thus reducing the need for manual searches across multiple
platforms. It integrates seamlessly with existing campus systems, making it a valuable tool for
both students and administrators.

To enhance usability, the system includes a user-friendly interface and personalized assistance
features, allowing students to interact with the chatbot easily. Additionally, the system is
structured into three main modules: Admin, User, and Support, which facilitate efficient
management and quick responses to student queries. Prioritizing accessibility and user
experience, CampusGuide aims to empower students by providing them with the information
they need to navigate their academic journey confidently.

3.4 Specifications and Requirements

A software requirement specification lays out functional (SRS) is a description of a software


system to be developed. It lays out functional and nonfunctional requirements, and may include a
set of use cases that describes the user interactions that the software must provide. It should also
provide a realistic basis for estimating product cost, risk and schedules.

3.4.1 Functional Requirements

● Provides real-time information about academic programs and campus facilities.


● Retrieves student-specific data such as scores and attendance.
● Facilitates 24/7 access to academic inquiries without human intervention.

Dept Of CSE 17 KMCTCE


Campus Guide Project 2024-25

● Offers personalized assistance through natural language processing.


● Supports user-friendly interaction with an intuitive interface.
● Enables quick responses to student queries through structured modules (Admin, User, Support)
● Integrates with existing campus systems for seamless information flow.

3.4.2 Non-Functional Requirements

● The application should be easy for users to navigate, ensuring a positive user experience.
● It should provide instant responses to user queries, minimizing any delays in information
retrieval.
● The system should be reliable and maintain consistent performance, especially during peak
usage times.
● User data must be securely stored and protected to maintain privacy and comply with data
protection regulations.

3.4.3 System Requirements

● Needs Intel i5, 8GB RAM, 500GB storage; runs on Windows 8+.
● Needs Android 8+ with 4GB RAM; built with Dart and Flutter.
● Compatible with Windows and Android devices.
● Requires Intel i5 or equivalent processor, 8GB RAM, and 500GB storage; compatible with
Windows 10 or higher.
● Compatible with both Windows and Android devices to ensure accessibility for all users.

3.4.4 User Requirements

● Provides clear and concise audio directions for users to facilitate easy navigation through the app.
● Accurately detects and identifies academic-related inquiries and provides relevant information.
● Offers fast access to support through video calls and real-time location tracking features for
urgent inquiries.

Dept Of CSE 18 KMCTCE


Campus Guide Project 2024-25

3.4.5 Software Requirements

Flask:

For the backend framework of CampusGuide, Flask is chosen to support the web component,
providing a versatile yet lightweight foundation. Flask, a micro-framework in Python, is well-
suited for CampusGuide’s architecture as it facilitates fast, flexible development, allowing
developers to tailor components to the project’s specific needs without imposing rigid structure.
Flask’s modular nature is especially advantageous in projects like CampusGuide, where dynamic
responses and ease of scaling are essential.Flask’s simplicity and ease of integration make it
highly effective for CampusGuide’s requirement to communicate with MySQL, allowing smooth
data retrieval and efficient storage of user information, such as student attendance and scores. This
compatibility ensures that CampusGuide can handle queries and data operations swiftly, making
student interactions seamless and immediate.

Additionally, Flask provides flexibility in integrating with various frontend technologies like HTML,
CSS, and JavaScript. This enables CampusGuide to deliver a responsive, interactive user
experience where backend processes, such as database access and NLP functions, work
harmoniously with a smooth, visually engaging interface. By using Flask’s robust routing
capabilities, CampusGuide ensures that user queries are quickly directed to the relevant response
functions, maintaining responsiveness in user interactions.Moreover, Flask’s ecosystem includes
support for several extensions and libraries, such as Flask-RESTful for building REST APIs.
These APIs enable CampusGuide to communicate between backend and frontend components
securely, manage data, and support the chatbot’s real-time response capabilities. Flask’s flexibility
with add- ons for security features like authentication and authorization further strengthens
CampusGuide’s ability to safeguard user data, which is crucial in a student-focused application.

Overall, Flask’s lightweight framework empowers CampusGuide with a foundation that is both
scalable and adaptable, ensuring smooth functionality for users while supporting CampusGuide’s
ability to grow and enhance its feature set as requirements evolve.

Dept Of CSE 19 KMCTCE


Campus Guide Project 2024-25

CHAPTER 5

SYSTEM DESIGN AND DEVELOPMENT

4.1 Design Constraint

For The constraints which were concider while designing the projects are follows.

4.1.1 Design Constraint:Hardware Requiremnts


 Intel i3 or equivalent or better
 Ram 4 GB or more for smoother experiences

4.1.2 Design Constraints:Software Limmitations


 The chatbot depends on google Gemini Api for generating responses
 Data is managed using JSON
 Built on flask framework

4.1.3 Design Constraints:Real-time Processing


 Provides instant responses to student queries
 Uses live API calls to fetch updated academic data
 Integrates Google Gemini AI for dynamic responses

4.1.4 Design Constraints: Scalabilty


 Modular Design allows easy features expansion
 Can be updated multiple institutes.

4.1.5 Design Constraints: Scalabilty


 Voice and AI features can be extended
 Can integrate with mobile apps and portals for border access.

4.1.6 Design Constraints:Cost and Resources


Dept Of CSE 20 KMCTCE
Campus Guide Project 2024-25
 Uses free tolls like python,flask,and json
 Gemini API may have usage-based costs.
 Hosting adds minimal server costs

4.1.7 Design Constraints: User Privacy and Ethics


 Handles student credentials
 No data stored permanently

4.1.8 Design Constraints: Interface design


 User friendly design for chatbot
 Accibility features

4.1.9 Design Constraints: Team Expertise


 Proficient in Python,Flask, and Json for Backend
 Skilled in NLP for chatbot logic and intent

4.1.10 Design Constraints: System Capabilities


 Responds to Academic Queries like attandace,assighnments and exams
 Supports real time data fetching from ET lab
 Provide voice assistant

4.2 Reaserch Methodology

4.2.1 Problem Identification


 Students face difficulty accessing real-time academic data like attendance, assignments,
and test results quickly.
 Traditional systems lack instant, AI-powered, voice-integrated support, causing delays
and user frustration.

4.2.2 Literature Review


Dept Of CSE 21 KMCTCE
Campus Guide Project 2024-25
 Previous research highlights the use of NLP and rule-based bots in academic settings, but
many lacked personalization and voice interaction.
 Recent developments in AI-driven chatbots (like Google Gemini) have shown improved
understanding and real-time assistance, offering better user experience in education-
related queries.

4.2.3 Object Formulation


 To create a chatbot that provides instant access to academic data like attendance,
assignments, and exam details through natural language input.
 To enhance user experience by integrating voice assistant features and AI (Gemini) for
smooth, intelligent interactions.

4.2.4 Data Collection


 Ensuring the data complies with ethical guidelines

4.2.4 Data Preprocessing


 Extracted and organized academic data such as attandace
 Cleaned and formatted user inputs and chatbot patterns

CHAPTER 5

Dept Of CSE 22 KMCTCE


Campus Guide Project 2024-25

SYSTEM DESIGN AND DEVELOPMENT

5.1 System Architecture

Fig 5.1 .System Architecture

● User provides input through text or voice to the chat application interface.

● Application receives the user input, converting voice to text using a speech recognition
module if necessary.

● The raw input data is captured and prepared for initial processing by the system.

● Input undergoes validation to check for empty responses, prohibited content

Dept Of CSE 23 KMCTCE


Campus Guide Project 2024-25

● Preprocessing of the input starts, involving steps like tokenization and normalization to
make the text suitable for analysis.

● Extraneous elements such as excessive punctuation, special characters, or extra


whitespace are removed to clean up the input data.

● Tokenization splits the input into individual words or subwords, breaking down sentences
for easier analysis.

● Normalization steps, including lowercasing, stemming, or lemmatization, create a


uniform text format, enhancing consistency.

● Each token is tagged with its Part-of-Speech (POS), identifying nouns, verbs, adjectives,
etc., to help the model understand the sentence structure.

● Named Entity Recognition (NER) identifies key entities, such as names, dates, or
locations, within the input for more accurate context.

● Dependency parsing examines grammatical relationships between words, allowing the


model to interpret sentence context.

● Sentiment analysis may be applied to assess the user’s mood or attitude, aiding in
generating a more suitable response.

● The processed input is fed into the NLP model, which interprets the meaning and intent
behind the user's message.

● A trained machine learning model, often a neural network, predicts the most appropriate
response based on learned conversation patterns.

● The final response is validated, then displayed as text or converted to audio for playback,
completing the user interaction.

Dept Of CSE 24 KMCTCE


Campus Guide Project 2024-25

4.2 Activity Diagram


Activity diagrams are graphical representations of workflows of stepwise activities and actions with
support for choice, iteration and concurrency. An activity diagram is a type of diagram used in
Unified Modeling Language (UML).In theUnified Modeling Language, activity diagrams are
intended to model both computational and organizational processes, as well as the data flows
intersecting with the related activities. Although activity diagrams primarily show the overall
flow of control, they can also include elements showing the flow of more data stores.These helps

Fig 5.2 Activity Diagram

Dept Of CSE 25 KMCTCE


Campus Guide Project 2024-25

● The conversation begins when the user initiates a chat session, either by text or voice input.

● The chatbot greets the user with a welcoming message, setting a friendly and
approachable tone.

● The chatbot prompts the user to choose from a list of topics to guide the conversation
effectively.

● The user is presented with several predefined options to select, based on their interests or
needs.

● “Information about the admission process” is an option that includes inquiries about
application deadlines, requirements, and eligibility.

● “Details about available courses” provides information on subjects, curriculum,


prerequisites, and course duration.

● Another option, “Information regarding fees and payment,” allows the user to inquire
about tuition costs, payment plans, and deadlines.

● “Information about upcoming events” gives users details about academic or


extracurricular events, including registration and schedules.

● The “Information about attendance records or policies” option allows students to check
their attendance records or understand the attendance policies.

● After the user selects a topic, the chatbot invites them to ask specific questions within the
chosen topic.

● The user enters their specific question, and the chatbot analyzes keywords and context to
prepare a targeted response.

● The chatbot retrieves relevant information from its knowledge base or database, quickly
processing the user’s question.

● Based on the topic and the specific query, the chatbot provides a clear and relevant
response, aiming to answer accurately.

● After answering, the chatbot checks if the user has additional questions or needs further
assistance, displaying a proactive approach.
Dept Of CSE 26 KMCTCE
Campus Guide Project 2024-25

● If the user has more questions on the same topic, the chatbot allows them to ask additional
questions to deepen the conversation.

● For users seeking different information, the chatbot can guide them back to the main
menu to select another topic.

● In situations where the user has complex or unique needs beyond the chatbot's scope, it
suggests connecting them to a human agent.

● If the user agrees to the transfer, the chatbot initiates a seamless handover to a human
representative for personalized assistance.

● If the user indicates that their questions are fully addressed, the chatbot acknowledges this
and ends the conversation politely.

● The chatbot closes the session with a thank-you message, inviting the user to return with
future questions and logging the interaction for learning purposes.

4.3 Data Flow Diagrams

LEVEL 0

Fig 5.3.1 DFD Level 0

Dept Of CSE 27 KMCTCE


LEVEL 1.1

Fig 5.3.2 DFD Level 1

LEVEL 1.2

Fig: 5.3.3 DFD Level 2

Dept Of CSE 28 KMCTCE


4.4 Flow Chart

Fig 5.5 FlowChart

Dept Of CSE 29 KMCTCE


Campus Guide Project 2024-25

CHAPTER 6

SYSTEM IMPLEMENTAION

6.1 System Configguration


The Campus Guide Chatbot system is configured using Python as the core programming language,
with Flask serving as the backend framework to handle API routes and user interactions. Data
management is done using JSON files, eliminating the need for complex database setups and
ensuring lightweight operation. The system integrates Google Gemini AI for dynamic response
generation and voice assistant features for enhanced usability. It is designed to run efficiently on
machines with a minimum configuration of 4GB RAM, an Intel i5 processor (or equivalent), and
requires an active internet connection to fetch real-time academic data from platforms like Etlab
and to access cloud-based AI services.

6.1.1 Software Requirements

Front End : HTML CSS

Language : Python

Backend : Python Flask

Operating System : Windows 8 or above

6.1.2 Software Requirements

Processor : Intel i3 or better

Primary Memory : 8 GB Ram and above

Dept Of CSE 30 KMCTCE


Campus Guide Project 2024-25

6.2 CODE

6.2.1 HTML Frontend

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>KMCT College of Engineering, Kozhikode</title>
<script src="{{ url_for('static', filename='app.js') }}" defer></script>
</head>
<body style="margin: 0; font-family: Arial, sans-serif;">

<img src="https://kmctcoe.ac.in/img/logo/header_logo.svg" alt="KMCT Logo" style="width:


100px; margin: 20px;" />

<header style="background-color: #003366; color: #fff; padding: 40px 20px; text-align:


center;">
<h1 style="margin: 0;">KMCT College of Engineering, Kozhikode</h1>
<nav style="margin-top: 15px;">
<a href="#home" style="color: white; margin: 0 10px;">Home</a>
<a href="https://kmctce.etlab.app/" style="color: white; margin: 0 10px;">EtLab</a>
<a href="https://formbuilder.ccavenue.com/live/kotak-mahindra/kmct-group-of-
institutions-2/kmct-college-of-engineering-2" style="color: white; margin: 0 10px;">Fee</a>
<a href="#about" style="color: white; margin: 0 10px;">About Us</a>
<a href="#contact" style="color: white; margin: 0 10px;">Contact</a>
</nav>
</header>

<main style="padding: 20px;">

<section id="home" style="text-align: center; padding: 50px 10px; background-color:


#f4f4f4;">
<h2>Empowering the Future through Education, Research & Innovation</h2>
<p>Discover the endless possibilities with KMCT Kozhikode</p>
</section>

<section id="about" style="padding: 30px 10px;">


<h2>About Us</h2>
<p>KMCT College of Engineering situated in Kozhikode, Kerala, founded in 2001. It
holds accreditation from AICTE and is affiliated with KTU, Thiruvananthapuram.</p>
<p>We offer undergraduate and postgraduate programs in various fields of information
Dept Of CSE 31 KMCTCE
Campus Guide Project 2024-25
technology and related disciplines.</p>
<p>Our commitment is to provide students with a high-quality education and prepare
them for success in the global technology industry.</p>
</section>

<section id="contact" style="padding: 30px 10px;">


<h2>Contact Us</h2>
<p>
<strong>Address:</strong> NITC-P.O, Kallanthode - Nayarkuzhi Rd, Manassery,
Kerala 673601<br />
<strong>Phone:</strong> +91 9745726888<br />
<strong>Email:</strong> [email protected]
</p>
</section>

</main>

<footer style="text-align: center; background-color: #003366; color: white; padding: 15px;">


<p>&copy; 2001 KMCT College of Engineering, Kozhikode</p>
</footer>

<div class="chatbox-container" style="position: fixed; bottom: 20px; right: 20px;">


<div id="chatbox" style="display: none; width: 300px; border: 1px solid #ccc; border-
radius: 10px; background: white; box-shadow: 0 0 10px rgba(0,0,0,0.1);">
<div style="background-color: #003366; color: white; padding: 10px; display: flex;
justify-content: space-between; align-items: center;">
<span>Chat support</span>
<div>
<button id="minimize-button" style="background: none; border: none; color:
white;">−</button>
<button id="maximize-button" style="background: none; border: none; color:
white;">⛶</button>
<button id="close-button" style="background: none; border: none; color:
white;">×</button>
</div>
</div>
<div id="chatbox-messages" style="max-height: 200px; overflow-y: auto; padding:
10px;"></div>
<div style="padding: 10px; border-top: 1px solid #eee; display: flex;">
<input id="chat-input" type="text" placeholder="Write a message..." style="flex: 1;
padding: 5px;" />
<button id="send-button" style="margin-left: 5px;">Send</button>
<button id="speech-button" style="margin-left: 5px;">Speak</button>
</div>
</div>
<button id="chatbox-toggle" style="width: 50px; height: 50px; border-radius: 50%;
Dept Of CSE 32 KMCTCE
Campus Guide Project 2024-25
background: url('static/chatbox-icon.png') center/cover no-repeat; border: none;"></button>
</div>
</body>
</html>

6.2.2 Frontend JavaScript

let waitingForCredentials = false;


let storedMessage = "";

function createClickableLink(message) {
return message.replace(
/(https?:\/\/[^\s]+)/g,
'<a href="$1" target="_blank" style="color: blue; text-decoration: underline;">$1</a>'
);
}

document.getElementById('chat-input').addEventListener('keypress', function (event) {


if (event.key === "Enter") {
event.preventDefault();
document.getElementById('send-button').click();
}
});

function startSpeechToText() {
if (!('webkitSpeechRecognition' in window) && !('SpeechRecognition' in window)) {
console.log("Speech recognition is not supported in this browser.");
return;
}

let recognition = new (window.SpeechRecognition || window.webkitSpeechRecognition)();


recognition.lang = 'en-US';

recognition.onresult = function (event) {


let result = event.results[0][0].transcript;
document.getElementById('chat-input').value = result;
document.getElementById('send-button').click();
};

recognition.start();
}

function sendMessage(message) {
let requestBody = { message: message };

Dept Of CSE 33 KMCTCE


Campus Guide Project 2024-25
if (waitingForCredentials) {
const credentials = message.split(" ");
if (credentials.length < 2) {
appendBotMessage("Please provide both username and password in this format:
username password");
return;
}

requestBody.username = credentials[0];
requestBody.password = credentials[1];
requestBody.message = storedMessage;
waitingForCredentials = false;
}

fetch('/predict', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(requestBody)
})
.then(response => response.json())
.then(data => {
appendUserMessage(message);

if (data.ask_credentials) {
waitingForCredentials = true;
storedMessage = message;
appendBotMessage(data.answer);
return;
}

let formattedText = data.answer ? <strong>${data.answer}</strong><br> : "";

if (data.student_info) {
const info = data.student_info;
formattedText += `
<strong>👤 Student Details:</strong><br>
Name: ${info.Name}<br>
Roll No: ${info["Roll No"]}<br>
Reg No: ${info["UNi Reg No"]}<br>
Total Attendance: ${info.Total}<br>
Overall Percentage: ${info.Percentage}<br><br>
`;
}

if (data.subjects) {
formattedText += "<strong>📊 Subject-wise Attendance:</strong><br>";
Dept Of CSE 34 KMCTCE
Campus Guide Project 2024-25
data.subjects.forEach(subj => {
formattedText += ${subj.Subject}: ${subj.Attendance}<br>;
});
}

if (data.assignments) {
formattedText += "<strong>📌 Assignments:</strong><br>";
data.assignments.forEach(assign => {
formattedText += `
Subject: ${assign.Subject}<br>
Semester: ${assign.Semester}<br>
Title: ${assign.Title}<br>
Issued On: ${assign["Issued On"]}<br>
Last Date: ${assign["Last Date"]}<br>
Status: ${assign.Status}<br><br>
`;
});
}

if (data.sessional_exams) {
formattedText += "<strong>📝 Session Exam Details:</strong><br>";
data.sessional_exams.forEach(session => {
formattedText += `
Subject: ${session.Subject}<br>
Exam: ${session.Exam}<br>
Maximum Marks: ${session["Maximum Marks"]}<br>
Marks Obtained: ${session["Marks Obtained"]}<br><br>
`;
});
}

if (data.module_tests) {
formattedText += "<strong>📖 Module Test Details:</strong><br>";
data.module_tests.forEach(test => {
formattedText += `
Subject: ${test.Subject}<br>
Exam: ${test.Exam}<br>
Max Marks: ${test["Maximum Marks"]}<br>
Obtained: ${test["Marks Obtained"]}<br><br>
`;
});
}

if (data.internal_marks) {
formattedText += "<strong>📊 Internal Marks:</strong><br>";
data.internal_marks.forEach(mark => {
Dept Of CSE 35 KMCTCE
Campus Guide Project 2024-25
formattedText += `
Subject: ${mark.Subject}<br>
Maximum Marks: ${mark["Maximum Marks"]}<br>
Marks Obtained: ${mark["Marks Obtained"]}<br><br>
`;
});
}

if (!data.answer) {
formattedText = "I'm sorry, I couldn't generate a response.";
}

appendBotMessage(formattedText);
})
.catch(error => console.error('Error:', error));
}

function appendUserMessage(message) {
let chatMessages = document.getElementById('chatbox-messages');
let userMessage = document.createElement('div');
userMessage.className = 'message user-message';
userMessage.innerHTML = 'You: ' + message;
chatMessages.appendChild(userMessage);
chatMessages.scrollTop = chatMessages.scrollHeight;
}

function appendBotMessage(message) {
let chatMessages = document.getElementById('chatbox-messages');
let botMessage = document.createElement('div');
botMessage.className = 'message bot-message';
botMessage.innerHTML = createClickableLink(message);
chatMessages.appendChild(botMessage);
chatMessages.scrollTop = chatMessages.scrollHeight;
}

document.getElementById('send-button').addEventListener('click', function () {
let message = document.getElementById('chat-input').value.trim();
if (message !== '') {
sendMessage(message);
document.getElementById('chat-input').value = '';
}
});

document.getElementById('speech-button').addEventListener('click', startSpeechToText);

document.addEventListener("DOMContentLoaded", function () {
Dept Of CSE 36 KMCTCE
Campus Guide Project 2024-25
const chatbox = document.getElementById("chatbox");
const chatboxToggle = document.getElementById("chatbox-toggle");
const minimizeButton = document.getElementById("minimize-button");
const maximizeButton = document.getElementById("maximize-button");
const closeButton = document.getElementById("close-button");

minimizeButton.addEventListener("click", () => {
chatbox.classList.remove("fullscreen");
chatbox.classList.toggle("minimized");
});

maximizeButton.addEventListener("click", () => {
chatbox.classList.add("fullscreen");
chatbox.classList.remove("minimized");
});

closeButton.addEventListener("click", () => {
chatbox.classList.remove("show", "fullscreen", "minimized");
chatboxToggle.style.display = "block";
});

chatboxToggle.addEventListener("click", () => {
chatbox.classList.add("show");
chatboxToggle.style.display = "none";
});
});

6.2.3 Flask Chatbot

app = Flask(_name_)
CORS(app)

# Load intents from dataset


with open("dataset1.json", "r", encoding="utf-8") as file:
data = json.load(file)
intents = data.get("intents", [])

# Match user input to predefined intents


def find_intent(message):
best_match = None
highest_score = 0.0
threshold = 0.5

for intent in intents:


for pattern in intent.get("patterns", []):
Dept Of CSE 37 KMCTCE
Campus Guide Project 2024-25
similarity = Levenshtein.ratio(pattern.lower(), message.lower())
if similarity > highest_score:
highest_score = similarity
best_match = intent

if highest_score >= threshold:


return best_match.get("responses", [])
return None

# Gemini fallback
def get_gemini_response(message):
response = model.generate_content(message)
return response.text

@app.route("/")
def index():
return render_template("website.html")

@app.route("/predict", methods=["POST"])
def predict():
data = request.get_json()
message = data.get("message")
username = data.get("username")
password = data.get("password")

if not message:
return jsonify({"error": "Missing 'message'"}), 400

if "attendance" in message.lower():
if not username or not password:
return jsonify({"answer": "Please provide your credentials.", "ask_credentials": True})
etlab_data = fetch_etlab_data(username, password)
if "error" in etlab_data:
return jsonify({"answer": etlab_data["error"]})

attendance_data = etlab_data["attendance"][0]
student_info = {
"UNi Reg No": attendance_data.get("UNi Reg No", "N/A"),
"Roll No": attendance_data.get("Roll No", "N/A"),
"Name": attendance_data.get("Name", "N/A"),
"Total": attendance_data.get("Total", "N/A"),
"Percentage": attendance_data.get("Percentage", "N/A"),
}
subjects = [
{"Subject": key, "Attendance": value}
for key, value in attendance_data.items()
Dept Of CSE 38 KMCTCE
Campus Guide Project 2024-25
if key not in student_info
]
return jsonify({"answer": "Here is your attendance:", "student_info": student_info,
"subjects": subjects})

if "assignment" in message.lower():
if not username or not password:
return jsonify({"answer": "Please provide your credentials.", "ask_credentials": True})
etlab_data = fetch_etlab_data(username, password)
if "error" in etlab_data:
return jsonify({"answer": etlab_data["error"]})
return jsonify({"answer": "Here are your assignments:", "assignments":
etlab_data["assignments"]})

if any(x in message.lower() for x in ["session test", "session exam", "sessional exam


schedule"]):
if not username or not password:
return jsonify({"answer": "Please provide your credentials.", "ask_credentials": True})
etlab_data = fetch_etlab_data(username, password)
if "error" in etlab_data:
return jsonify({"answer": etlab_data["error"]})
sessionals = [
{
"Subject": item.get("Subject", "N/A"),
"Exam": item.get("Exam", "N/A"),
"Maximum Marks": item.get("Maximum Marks", "N/A"),
"Marks Obtained": item.get("Marks Obtained", "N/A"),
}
for item in etlab_data.get("sessional_exams", [])
]
return jsonify({"answer": "Here are your session test details:", "sessional_exams":
sessionals})

if "module test" in message.lower():


if not username or not password:
return jsonify({"answer": "Please provide your credentials.", "ask_credentials": True})
etlab_data = fetch_etlab_data(username, password)
if "error" in etlab_data:
return jsonify({"answer": etlab_data["error"]})
modules = [
{
"Subject": item.get("Subject", "N/A"),
"Exam": item.get("Exam", "N/A"),
"Maximum Marks": item.get("Maximum Marks", "N/A"),
"Marks Obtained": item.get("Marks Obtained", "N/A"),
}
Dept Of CSE 39 KMCTCE
Campus Guide Project 2024-25
for item in etlab_data.get("module_tests", [])
]
return jsonify({"answer": "Here are your module test details:", "module_tests": modules})

if "internal marks" in message.lower():


if not username or not password:
return jsonify({"answer": "Please provide your credentials.", "ask_credentials": True})
etlab_data = fetch_etlab_data(username, password)
if "error" in etlab_data:
return jsonify({"answer": etlab_data["error"]})
internals = [
{
"Subject": item.get("Subject", "N/A"),
"Maximum Marks": item.get("Maximum Marks", "N/A"),
"Marks Obtained": item.get("Marks Obtained", "N/A"),
}
for item in etlab_data.get("internal_marks", [])
]
return jsonify({"answer": "Here are your internal marks:", "internal_marks": internals})

response = find_intent(message)
if response:
return jsonify({"answer": random.choice(response)})

gemini_reply = get_gemini_response(message)
return jsonify({"answer": gemini_reply or "I'm sorry, I couldn't understand your query."})

6.2.4 ET LAB data fetching

fetch_etlab_data()
def fetch_etlab_data(username, password):
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),
options=options)
data = {"attendance": [], "assignments": [], "sessional_exams": [], "module_tests": [],
"internal_marks": []}

try:
driver.get("https://kmctce.etlab.app/user/login")
time.sleep(2)
driver.find_element(By.ID, "LoginForm_username").send_keys(username)
driver.find_element(By.ID, "LoginForm_password").send_keys(password)
driver.find_element(By.XPATH, "//button[@type='submit']").click()
time.sleep(5)

if "login" in driver.current_url:
Dept Of CSE 40 KMCTCE
Campus Guide Project 2024-25
return {"error": "Invalid username or password"}

# Attendance
driver.get("https://kmctce.etlab.app/ktuacademics/student/viewattendancesubject/37")
time.sleep(3)
table = driver.find_element(By.CLASS_NAME, "items")
data["attendance"] = pd.DataFrame([
[td.text for td in tr.find_elements(By.TAG_NAME, "td")]
for tr in table.find_elements(By.TAG_NAME, "tr")[1:]
], columns=[th.text for th in table.find_elements(By.TAG_NAME,
"th")]).to_dict(orient="records")

# Assignments
driver.get("https://kmctce.etlab.app/student/assignments")
time.sleep(3)
table = driver.find_element(By.CLASS_NAME, "items")
data["assignments"] = pd.DataFrame([
[td.text for td in tr.find_elements(By.TAG_NAME, "td")]
for tr in table.find_elements(By.TAG_NAME, "tr")[1:]
], columns=[th.text for th in table.find_elements(By.TAG_NAME,
"th")]).to_dict(orient="records")

# Sessional Exams
driver.get("https://kmctce.etlab.app/ktuacademics/student/results")
time.sleep(5)
table = driver.find_element(By.ID, "yw0")
data["sessional_exams"] = pd.DataFrame([
[td.text for td in tr.find_elements(By.TAG_NAME, "td")]
for tr in table.find_elements(By.TAG_NAME, "tr")[1:]
], columns=[th.text for th in table.find_elements(By.TAG_NAME,
"th")]).to_dict(orient="records")

# Module Tests
table = driver.find_element(By.ID, "yw1")
data["module_tests"] = pd.DataFrame([
[td.text for td in tr.find_elements(By.TAG_NAME, "td")]
for tr in table.find_elements(By.TAG_NAME, "tr")[1:]
], columns=[th.text for th in table.find_elements(By.TAG_NAME,
"th")]).to_dict(orient="records")

# Internal Marks
table = driver.find_element(By.ID, "yw5")
data["internal_marks"] = pd.DataFrame([
[td.text for td in tr.find_elements(By.TAG_NAME, "td")]
for tr in table.find_elements(By.TAG_NAME, "tr")[1:]
], columns=[th.text for th in table.find_elements(By.TAG_NAME,
Dept Of CSE 41 KMCTCE
Campus Guide Project 2024-25
"th")]).to_dict(orient="records")

except:
return {"error": "Unable to fetch data"}

finally:
driver.quit()

return data

6.3 Result

Fig 6.3.1 Web Interface

Dept Of CSE 42 KMCTCE


Campus Guide Project 2024-25
Fig 6.3.2 attandance

Fig 6.3.3 Assignments

Fig 6.3.4 Exam Score

Dept Of CSE 43 KMCTCE


Campus Guide Project 2024-25

CHAPTER 7

CONCLUSION AND FUTURE SCOPE

7.1 Conclusion

The development of the Campus Guide Chatbot demonstrates a significant advancement in


academic assistance by integrating natural language processing (NLP) with AI-driven responses.
Designed to provide seamless access to essential student information, this chatbot efficiently
retrieves attendance details, assignments, sessional exam schedules, and module test results. By
leveraging Flask as the backend framework, the system ensures efficient processing and scalability,
making it a reliable tool for students.

A key strength of this chatbot lies in its hybrid response mechanism. It combines a predefined
intent-based approach for common queries with Google Gemini AI to handle dynamic or complex
user inputs. This ensures that students receive accurate and context-aware responses, even when
their queries do not directly match predefined patterns. Additionally, the chatbot employs a secure
authentication mechanism, requesting credentials only when necessary to maintain data privacy and
security.

The chatbot’s ability to eliminate human intervention in accessing academic information


significantly enhances the user experience. Instead of manually searching through multiple
platforms, students can interact with the chatbot through a simple text-based interface and receive
instant responses. Furthermore, by formatting responses in an organized manner, the chatbot
ensures clarity and ease of understanding.From a technical perspective, the use of Flask-CORS for
cross-origin requests, structured JSON-based intent handling, and real-time API communication
with student portals establishes a robust and scalable architecture. This makes the chatbot adaptable
for future expansions, including voice integration, personalized recommendations, and multilingual
support.

In conclusion, the Campus Guide Chatbot serves as a reliable, efficient, and intelligent academic
assistant for students. Its implementation marks a significant step towards AI-powered education
support systems, offering a scalable foundation for future advancements in academic chatbots.
Dept Of CSE 44 KMCTCE
Campus Guide Project 2024-25

7.2 Future Scope

The Campus Guide Chatbot has immense potential for further development, making it an even
more powerful academic tool. One key enhancement is multilingual support, which would allow
students to interact in their preferred language, improving accessibility. Additionally, the chatbot’s
natural language processing (NLP) capabilities can be expanded to better understand complex
queries, making conversations more context-aware and personalized.

Another significant upgrade would be learning management system (LMS) integration, enabling
seamless access to course materials, assignment deadlines, and exam schedules from platforms like
Moodle, Google Classroom, or Blackboard. The chatbot can also provide real-time performance
analytics, allowing students to track their attendance, grades, and academic progress through a
personalized dashboard.

To enhance security and reliability, blockchain technology can be implemented to protect academic
records from tampering. A mobile application would further improve accessibility, offering a
dedicated and interactive interface for students. Additionally, AI-driven career counseling could be
introduced, helping students choose courses, internships, and career paths based on their interests
and academic performance.

Future versions could also incorporate emotional intelligence, allowing the chatbot to detect student
stress levels and provide motivational responses or study tips. Lastly, integrating cloud-based
deployment would enhance scalability, enabling multiple institutions to adopt and customize the
chatbot to fit their requirements.

With these advancements, the Campus Guide Chatbot will evolve into an indispensable AI-powered
academic assistant, ensuring students receive real-time, intelligent, and personalized academic
support at all times.

Dept Of CSE 45 KMCTCE


REFERENCES

[1] M R. Parkar, Y. Payare, K. Mithari, J. Nambiar and J. Gupta, ”AI And Web-Based Interactive
College Enquiry Chatbot,” 2021 13th International Conference on Electronics, Computers and
Ar- tificial Intelligence (ECAI), Pitesti, Romania, 2021, pp. 1-5,
doi:10.1109/ECAI52376.2021.9515065.

[2] Chiara Valentina Misischia, Flora Poecze, Christine Strauss, Chatbots in customer service: Their
relevance and impact on service quality, Procedia Computer Science, Volume 201, 2022, Pages
421-428, ISSN1877 0509

[3] B. R. Ranoliya, N. Raghuwanshi and S. Singh, ”Chatbot for university related FAQs,”
International Conference on Advances in Computing, Communications and Informatics
(ICACCI), Udupi, 2017, pp.1525 1530.

[4] N. P. Patel, D. R. Parikh, D. A. Patel and R. R. Patel, ”AI and Web-Based Human-Like
Interactive University Chatbot (UNIBOT),”2019 3rd International conference on Electronics,
Communication and Aerospace Technology (ICECA), Coimbatore, India, 2019, pp. 148-150,
doi: 10.1109/ICECA.2019.8822176.

[5] Manoj Joshi , Rakesh Kumar Sharma, 2020, An Analytical Study and Review of open Source
Chatbot framework, RASA, INTERNATIONAL JOURNAL OF ENGINEERING RESEARCH
AND TECHNOLOGY (IJERT) Volume 09, Issue 06 ,June 2020.

[6] Delphin Lydia,J Sangeetha Priya, Dhivya Jai Sree G,Vidhya, Vi-jayameena S, Chatbot for
College Management System, International Journal for Research in Applied Science and
Engineering Technology (IJRA), Volume 9, Issue 7, July 2021.

[7] Attigeri, G., Agrawal, A. and Kolekar, S., 2024. Advanced NLP Models for Technical University
Information Chatbots: Development and Comparative Analysis. IEEE Access.

[8] Patel, D., Shetty, N., Kapasi, P. and Kangriwala, I., 2023. College enquiry chatbot using
conversational AI. International Journal for Research in Applied Science & Engineering
Technology (IJRASET), 11(5).

VIII
[9] Bieletzke, S., 2023. Ai-chatbot-integration in campus-management-systems. In EDULEARN23
[10] Assayed, S.K., Alkhatib, M. and Shaalan, K., 2023, May. Artificial intelligence based chatbot for
promoting equality in high school advising. In 2023 4th International Conference on Intelligent
Engineering and Management (ICIEM) (pp. 1-4). IEEE.

IX
X

You might also like