0% found this document useful (0 votes)
87 views20 pages

Updated Internship Project Report

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

Updated Internship Project Report

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

SKILL DZIRE

JAVA FULL STACK


INTERNSHIP
An Internship Report Submitted at the end of seventh semester

BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING

Submitted By
VANGALA K N V S SAI DEVAN
(213J1A05I1)

Under the esteemed guidance of


Mr. D. VIKRAM LAKSHMI KANTH
Assistant Professor

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

RAGHU INSTITUTE OF TECHNOLOGY


(AUTONOMOUS)
Affiliated to JNTU GURAJADA, VIZIANAGARAM
Approved by AICTE, Accredited by NBA, Accredited by NAAC with A grade

2024-2025
RAGHU INSTITUTE OF TECHNOLOGY
(AUTONOMOUS)
Affiliated to JNTU GURAJADA, VIZIANAGARAM
Approved by AICTE, Accredited by NBA, Accredited by NAAC with A grade

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

CERTIFICATE

This is to certify that this project entitled “Full Stack Java” done by “VANGALA K N V S SAI DEVAN
(213J1A05I1)” is a student of B.Tech in the Department of Computer Science and Engineering, Raghu Institute of
Technology, during the period 2021-2025, in partial fulfillment for the award of the Degree of Bachelor of
Technology in Computer Science and Engineering to the Jawaharlal Nehru Technological University, Gurajada
Vizianagaram is a record of bonafide work carried out under my guidance and supervision.

The results embodied in this internship report have not been submitted to any other University or
Institute for the award of any Degree.

Internal Guide Head of the Department


Mr.D. Vikram Lakshmi Kanth, Dr.R. Sivaranjani,
Assistant Professor Professor

EXTERNAL EXAMINER

i
DISSERTATION APPROVAL SHEET
This is to certify that the dissertation titled
CHAT APPLICATION USING SPRING WEBSOCKET
BY
VANGALA K N V S SAI DEVAN
(213J1A05I1)

Is approved for the degree of Bachelor of Technology

MR.D. VIKRAM LAXMI KANTH


PROJECT GUIDE
(Assistant Professor)

Internal Examiner

External Examiner

DR.R. SIVARANJANI
HOD
(Professor)

Date:

ii
DECLARATION

This is to certify that this internship titled “Full Stack Java” is bonafied work done by
my me, impartial fulfillment of the requirements for the award of the degree B.Tech and
submitted to the Department of Computer Science and Engineering, Raghu Institute of
Technology, Dakamarri.
I also declare that this internship is a result of my own effort and that has not been copied
from anyone and I have taken only citations from the sources which are mentioned in the
references.
This work was not submitted earlier at any other University or Institute for the reward of
any degree.

Date:
Place:

VANGALA K N V S SAI DEVAN

(213J1A05I1)

iii
CERTIFICATE

iv
ACKNOWLEDGEMENT

I express sincere gratitude to my esteemed Institute “Raghu Institute of Technology”, which


has provided us an opportunity to fulfill the most cherished desire to reach my goal.

I take this opportunity with great pleasure to put on record our ineffable personal
indebtedness to Mr. Raghu Kalidindi, Chairman of Raghu Institute of Technology for
providing necessary departmental facilities.

I would like to thank the Principal Dr.V. Satyanarayana of “Raghu Institute of


Technology”, for providing the requisite facilities to carry out projects on campus. Your
expertise in the subject matter and dedication towards our project have been a source of
inspiration for all of us.

I sincerely express our deep sense of gratitude to Dr.R. Sivaranjani, Professor, Head of
Department in Department of Computer Science and Engineering, Raghu Engineering College,
for her perspicacity, wisdom and sagacity coupled with compassion and patience. It is my great
pleasure to submit this work under her wing. I thank for guiding us for the successful completion
of this project work.

I would like to thank Mr. D. Vikram Lakshmi Kanth, Assistant Professor for
providing the technical guidance to carry out module assigned. Your expertise in the subject
matter and dedication towards our project have been a source of inspiration for all of us.

I extend my deep hearted thanks to all faculty members of the Computer Science
department for their value-based imparting of theory and practical subjects, which were used in
the project.

Regards
VANGALA K N V S SAI DEVAN
(213J1A05I1)
v
TABLE OF CONTENTS

S.NO CONTENT PAGE NUMBER

1. INTRODUCTION 7

2. PROBLEM STATEMENT 8

3. SYSTEM REQUIREMENTS 9

4. SYSTEM DESIGN 10

5. IMPLEMENTATION 11

6. RESULTS 13

7. TESTING 16

8. CONCLUSIONS 19

vi
INTRODUCTION

In today's digital landscape, real-time communication is essential for modern


web applications, facilitating seamless interactions between users. Traditional client-
server protocols like HTTP rely on a request-response model, which introduces
latency and inefficiency in scenarios requiring continuous, bidirectional data
exchange. WebSocket technology addresses this limitation by providing a full-duplex
communication channel over a single TCP connection, enabling efficient, low-latency
data transmission ideal for chat platforms, live feeds, and collaborative tools.

This documentation outlines the development and architecture of a real-time chat


application using Spring WebSocket, which is built on the Spring Framework. The
application supports instantaneous messaging, allowing multiple users to interact
without repeated HTTP requests. Utilizing Spring Boot, the project integrates
WebSocket functionality in a scalable manner.

The Spring WebSocket Chat Application includes features such as multi-user


chat rooms, private messaging, and secure user authentication, highlighting the
flexibility of WebSocket technology with modern web frameworks. This introduction
will highlight the motivation for using WebSocket, the role of Spring in simplifying its
implementation, and the key components that enhance the application's functionality.

Keywords: Spring Framework, TCP, WebSocket, HTTP, Real-time


vii
PROBLEM STATEMENT

In digital landscape, real-time communication is essential for both personal and


professional interactions. Traditional web applications rely on HTTP request-response
cycles, which introduce significant latency and inefficiency in handling real-time
interactions like chat and notifications. Methods such as long-polling and AJAX
attempt to mitigate these issues but still suffer from performance bottlenecks,
increased server load, and delays in message delivery, making them unsuitable for
high-traffic applications.

To address these challenges, there is a need for a solution that enables full-
duplex, real-time communication between clients and servers without the drawbacks
of conventional methods. WebSocket technology offers an ideal approach by
maintaining an open connection that allows simultaneous data transmission in both
directions. However, integrating WebSocket effectively can be complex without the
right frameworks.

This project seeks to design and implement a real-time chat application that
leverages WebSocket technology to deliver a seamless, low-latency user experience
while ensuring scalability and security. By utilizing the Spring Framework, the goal is
to simplify WebSocket implementation and provide an efficient, robust messaging
solution.

8
SYSTEM REQUIREMENTS

Software Requirements:

1. Spring Framework: The application requires Spring Boot for building backend services,
managing WebSocket connections, and providing support for RESTful APIs.
2. WebSocket Protocol: Implementation of the WebSocket protocol to enable real-time, full-
duplex communication between clients and the server, ensuring low-latency messaging and
efficient data transfer.
3. Development Environment: IntelliJ IDEA as the Integrated Development Environment
(IDE) for developing, testing, and debugging the application, along with Spring Initializr
for project setup and dependency management, enabling a streamlined development
process.

Hardware Requirements:

 Processor - Intel(R) Core (TM) i5-6300U CPU @ 2.40GHz 2.50 GHz

 Speed - 1.1 Ghz

 RAM - 16 GB

 Hard Disk - 20 GB

 Keyboard - Standard Windows Keyboard

 Mouse - Two or Three Button Mouse

 Monitor - SVGA

9
SYSTEM DESIGN

STOMP is used to enable simple, efficient, and standardized messaging between clients and

servers, facilitating real-time communication in web applications

The sender who sends the message is passed through HTTP protocol to WebSocket server

which is connected to database and can be viewed by the receiver and vice versa.

An authentication service verifies user credentials such as username and establish a

connection to ensure that only authorized users can participate in real-time communication.

10
IMPLEMENTATION

STEP-1: Create a basic structure of HTML page for the application.


STEP-2: Add styling to the HTML page using CSS.
STEP-3: Make the HTML page functional with the help of JavaScript.
STEP-4: Configure the Maven gradle to your editor (Intelli J) environment.
STEP-5: Import the required dependencies from the website Spring Intilialzr.
STEP-6: Add the WebSocket dependency and check the .JAR file while copying dependencies.
STEP-7: Download the zip file and extract all the files.
STEP-8: Open the extracted files folder in your editor environment.
STEP-9: The dependencies that are required will reflect in the pom.xml.
STEP-10: Create a Resource Representation Class.
STEP-11: Create a Message-handling Controller.
STEP-12: Configure Spring for STOMP messaging.
STEP-13: Make the Application Executable.
STEP-14: Assess the service.

11
The following are the features of the Chat Application:

1. User Authentication: Upon launching the application, users are prompted to enter their
username, ensuring identification within the chat environment.

2. Messaging Interface: After entering their username, users are seamlessly redirected to a
user-friendly messaging interface for real-time communication.

3. User Presence Notifications: The application displays messages indicating when users join
or leave the chat, enhancing engagement and awareness among participants.

4. Multi-User Support: The application can manage multiple users simultaneously, allowing
for dynamic group interactions without performance degradation.

5. Quick Response Messages: Users can send and receive messages instantly, providing a
smooth and responsive chatting experience.

6. Access via Localhost: Anyone can connect and chat through the application using the URL
http://localhost:8080, making it easily accessible for local development and testing.

12
RESULTS

13
14
15
TESTING

Unit Testing:

Testing individual units or components of code to ensure they function correctly without errors.

16
Functional Testing:

1. Username Entry Verification:

 Tested if the application prompts the user for a username.


 Verified successful redirection to the messaging interface after username submission.

2. Messaging Interface Load:

 Confirmed that the messaging interface loads without errors after user login.
 Checked those all-necessary UI elements (e.g., chat window, input field) are displayed
correctly.

3. Join/Leave Notifications:

 Validated that notifications are displayed correctly when users join or leave the chat.
 Ensured that these notifications are visible to all connected users in real time.

4. Concurrent User Interaction:

 Tested the application with multiple users to confirm simultaneous connections.


 Monitored performance to ensure that user interactions are smooth and responsive.

5. Instant Message Delivery:

 Verified that messages sent by one user are received by others without noticeable delay.
 Checked that messages appear in the chat window in the order they were sent.

6. Localhost Accessibility:

 Ensured that users can access the application via http://localhost:8080.


 Tested that the application functions as expected in the local environment without issues.

17
18
CONCLUSION

In conclusion, the Spring WebSocket Chat Application showcases the


advantages of WebSocket technology for enabling real-time communication
in modern web applications. By leveraging the Spring Framework, this
application simplifies WebSocket integration while providing robust features
for scalability and maintainability. The design prioritizes seamless user
interactions, making instant messaging and real-time notifications integral to
the user experience.

The application effectively supports multiple users connecting and


interacting simultaneously, addressing the limitations of traditional chat
systems reliant on HTTP protocols. User presence notifications enhance
engagement by informing participants who is online, while quick message
delivery ensures efficient communication.

Thorough functional testing verifies that the application meets its design
specifications, confirming that features such as user authentication, the
messaging interface, and notifications operate correctly. This testing process
not only enhances reliability but also identifies areas for potential
improvement.

Overall, the Spring WebSocket Chat Application exemplifies how


modern web technologies can be utilized to create effective communication
tools. It provides valuable insights into real-time application development and
highlights the benefits of combining WebSocket with the Spring Framework,
laying a solid foundation for future advancements in web communication.

19

You might also like