JEEVAS's_InternShip_Report1 (1)
JEEVAS's_InternShip_Report1 (1)
Submitted by
JEEVAPRAKASH M (923821104016)
of the degree of
BACHELOR OF ENGINEERING
in
NOVEMBER 2024
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
We extend our heartfelt thanks and profound gratitude to all the faculty
members of our department for their kind help during our Internship.
Finally we express our sincere thanks to our parents, who have constantly
encouraged us throughout our course.
DETAILS OF INTERNSHIP
FROM
S.NO INDUSTRY ROLE MODE OF DATE TO YEAR /
NAME & INTERNSHIP SEM
END DATE
ADDRESS
18/07/2024
Phoenix Softech,
I Internship OFFLINE To IV/VII
Madurai
17/08/2024
625001
CONTENTS
CHAPTER NO TITLE PG NO
1 Introduction 6
2 Objectives 6
3 Company Profile 7
4 Responsibilities 7
5 Learning outcomes 8
6 Project Overview 9
7 Conclusion 13
5
1. Introduction
During my internship at Phoenix Softech, based in Madurai, I had the opportunity to
dive deep into the field of full-stack web development, with a focus on building a real-time chat application
using Django, Django Channels, and Web-Sockets. This internship provided me with a hands-on learning
experience in designing, developing, and deploying an interactive chat platform where users could exchange
messages in real time. I worked alongside a skilled team of developers, gaining practical experience in both
frontend and backend technologies. In this report, I will outline my responsibilities, key learnings, and
challenges I faced while developing the chat application, and how this experience contributed to my growth
as a developer.
2. Objectives
The primary objectives of my internship were focused on gaining practical experience
in developing a real-time chat application and improving my full-stack development skills. One key goal
was to build a fully functional chat system using Django and Web-Sockets to enable real-time
communication. This involved learning how to implement Django Channels for asynchronous messaging,
which was crucial for enabling smooth communication between users.
Another objective was to enhance my skills in both frontend and backend technologies.
I aimed to strengthen my knowledge of HTML, CSS, and JavaScript for building the frontend, while also
deepening my understanding of Python and Django for backend development. Additionally, I worked on
integrating these technologies to ensure the real-time chat system functioned properly.
User authentication and session management were also central to the project. I
developed a system to handle user logins, manage chat rooms, and store message history, all while ensuring
the process was secure and efficient. Finally, the internship provided an opportunity to collaborate within a
team environment, improving my communication skills and contributing to the development process from
start to finish.
6
3. Company Profile
Phoenix Softech, established in Madurai, is a leading web design and development
company known for delivering innovative IT solutions. Specializing in website design, web application
development, e-commerce solutions, custom software development, and SEO, Phoenix Softech serves a
diverse range of clients across various industries. The company is committed to providing high-quality,
scalable digital solutions that help businesses enhance their online presence and achieve growth. Key
services include end-to-end software development, responsive website design, secure e-commerce
platforms, and ethical SEO practices. Phoenix Softech’s expert team works closely with clients to understand
their unique needs, delivering tailored solutions that drive success. The company prides itself on its
commitment to quality, client satisfaction, and delivering results within budget and timelines. During my
internship at Phoenix Softech, I had the opportunity to collaborate with experienced professionals, gaining
valuable hands-on experience in a fast-paced and innovative environment.
4. Responsibilities
During my internship at Phoenix Softech, I was entrusted with a variety of
responsibilities that significantly contributed to the development of a real-time chat application. One of my key
tasks was designing and implementing the backend using Django. I set up the necessary models for managing
users and messages, and developed API endpoints to handle user authentication and data management. This
involved ensuring the backend was both secure and efficient in handling real-time interactions.
On the frontend, I worked with HTML5, CSS, and JavaScript to design a user-
friendly interface. This included developing responsive layouts, creating interactive message boxes, buttons,
and chat windows, and ensuring the overall design was intuitive and visually appealing across different devices.
I also focused on ensuring seamless interaction between the frontend and backend
7
Additionally, I implemented user authentication features, including secure
registration, login, and session management, integrating these systems with Django’s user model to allow users
to safely access the chat application. I conducted thorough testing and debugging to identify any issues with
message delivery, WebSocket connections, and the database interactions. This process helped me improve the
overall performance, security, and user experience of the application.
5. Learning Outcomes
8
One of the most rewarding challenges was integrating the frontend and
backend components. I learned how to ensure smooth communication between the two by ensuring that user
actions (such as sending a message) were correctly handled by the Django backend, with responses delivered
in real time via Web-Sockets. I also worked on broadcasting messages to multiple users, a crucial feature in
real-time chat applications. This required managing multiple WebSocket connections and ensuring messages
were broadcasted effectively to all connected clients.
The real-time chat application built with Django aims to provide users with a
dynamic and seamless platform for communication. This project uses Django’s robust backend capabilities and
integrates WebSocket-based communication for real-time data exchange.
9
Figure 1: Room Page
Figure 1, refers to the webpage or user interface where a specific chat conversation takes place. It represents a
single chat environment, such as a chat room or a direct messaging space. Users can exchange messages in
real time within this page, and the content dynamically updates as new messages are sent or received. In this
room page user can able to create a unique username and room name to make their chat with the other end
person confidentially.
Figure 2, Superuser is a special user account with the highest level of administrative privileges. Superusers are
primarily used for managing the application’s backend via the Django admin interface. They can access and
control all aspects of the application without restrictions, making them essential for development, debugging,
and managing production environments.
10
Figure 3: Django Administration and Authentication Page
Figure 3, is a built-in, web-based interface that provides an easy and user-friendly way to manage our
application's data. It is one of Django's most powerful features, enabling developers and administrators to
interact with the database and manage application resources without needing custom tools or direct database
access. In this we are able create and manage user accounts, including superusers and staff.
In our project we have created a name of room as testroom for testing out website working properly or not.
The Snippet to access this Django admin is given below:
The Django Admin interface is typically available at /admin/ in our web application.
After running the development server (python manage.py runserver), navigate to http://127.0.0.1:8000/admin/.
Log in using the superuser credentials created earlier with the createsuperuser command.
Figure 5, This is our project aims to achieve, Once the connection is established, both the client and the server
can send and receive messages in real time. In the Last step we have communicated the server and client
communication through WebSocket.
By using Web Socket in Django, we enable an interactive and seamless user experience, where both the
server and the client are always in sync, making it ideal for real-time applications like chat systems, live
notifications, or collaborative platforms. The asynchronous nature of WebSocket ensures that the application
can handle multiple users simultaneously with minimal delay, ensuring smooth, live communication.
12
7. Conclusion
13
CERTIFICATE
14
15