Department of Computer Science and Engineering
SHORT-TERM
INTERNSHIP
(On-Site/Virtual)
ANDHRA PRADESH
STATE COUNCIL OF HIGHER EDUCATION
(A STATUTORY BODY OF GOVERNMENT OF ANDHRA PRADESH)
INTERNSHIP REPORT FOR
SHORT-TERM INTERNSHIP
(Onsite / Virtual)
Name of the Student: [Link] Srinivasarao
Name of the College: Vignan’s Lara Institute of Technology & Science
Register Number: 22FE1A0595
Period of Internship: From: 01/05/2024 To: 04/07/2024
Name & Address of the Intern Organization: SkillDzire,
04th Floor, Bizness Square, opp: Hitex
Junction, HITEC City, Hyderabad, Telangana
500081
An Internship Report
on Full Stack Java
Submitted in accordance with the requirement for the degree of
Bachelor of Technology
Under the Faculty Guideship of
Mr. M. Nagaraju, MCA
Department of
Computer Science and Engineering,
Vignan’s Lara Institute of Technology & Science
Submitted by:
[Link]
Srinivasarao
Reg .No: 22FE1A0595
Student’s Declaration
I, [Link] srinivsarao a student of Bachelor of Technology Program, Reg. No. 22FE1A0595
of the Department of Computer Science and Engineering, Vignan’s Lara Institute of
Technology & Science College do hereby declare that I have completed the mandatory internship
from 01st May, 2024 to 01st July, 2024 in SkillDzire under the Faculty Guideship of Mr. M.
Nagaraju,MCA, Department of Computer Science and Engineering, Vignan’s Lara Institute
of Technology & Science.
[Link]
Mr. M. Nagaraju, MCA Dr. K. Venkateswara Rao, Ph. D.
Faculty Guide Head of the Department
EXTERNAL EXAMINER
Acknowledgements
The satisfaction that accompanies the successful completion of any task would
be incomplete without the mention of people whose ceaseless cooperation made
it possible, whose constant guidance and encouragement crown all efforts with
success.
We are grateful to Mr. [Link], MCA, Department of Computer Science
and Engineering for guiding through this project and for encouraging right from
the beginning of the project till successful completion of the project. Every
interaction with him was an inspiration.
We thank Dr. K. Venkateswara Rao, Ph.D., Professor & HoD, Department of
Computer Science and Engineering for support and Valuable suggestions
We also express our thanks to Dr. K. Phaneendra Kumar, Principal, Vignan’s
Lara Institute of Technology & Science for providing the resources to carry out
the project.
We also express our sincere thanks to our Chairman Dr. Lavu Rathaiah for
providing support and stimulating the environment for developing the project.
We also place our floral gratitude to all other teaching and lab technicians for their
constant support and advice throughout the project
TABLE OF CONTENT
1 STUDENT DECLARATION
2 CERTIFICATE FROM INTERN
ORGANIZATION
3 ACKNOWLEDGEMENTS
4 INTRODUCTION
5 OVERVIEW OF THE ORGANISATION
6 INTERNSHIP DESCRIPTION
7 PROJECT HIGHLIGHTS
8 SKILLS ACQUIRED
9 CHALLENGES OVERCOME
10 KEY TAKEAWAYS
11 CONCLUSION
INTRODUCTION
"I am excited to share that I have successfully completed my internship with
SkillDzire Services. Throughout this course, I had the opportunity to gain hands-
on experience in Full Stack Java and expand my knowledge through practical
assignments and projects. The internship allowed me to work on real-world
challenges, enhance my skills, and collaborate with professionals in the
industry. This experience has greatly contributed to my personal and
professional growth, and I am eager to apply what I’ve learned in future
endeavors."
OVERVIEW OF THE ORGANISATION
SkillDzire, established in 2023 and based in Bengaluru, India, is an innovative
edtech platform that has emerged as a notable player in the online learning
ecosystem. The company specializes in providing comprehensive skill
development and professional training programs designed to bridge the gap
between academic education and industry requirements.
At its core, Skilldzire focuses on delivering high-quality education
through a carefully structured curriculum that emphasizes practical learning.
The platform has established strategic partnerships with leading technology
companies to enhance their course offerings. These collaborations ensure that
students receive industry-recognized certifications upon successful completion of
their programs, adding significant value to their professional portfolios.
A distinguishing feature of Skilldzire's education model is their focus on
experiential learning. Students engage in comprehensive projects that mirror real
industry scenarios, preparing them for actual workplace challenges. The platform
maintains a low student-to-mentor ratio to ensure personalized attention and
optimal learning outcomes.
INTERNSHIP DESCRIPTION
A Full Stack Java internship online course is designed to provide comprehensive
training in both front-end and back-end development using Java technologies.
This immersive program equips students with the essential skills and practical
knowledge needed to build complete web applications from scratch, making them
industry-ready developers.
The internship program covers the entire spectrum of Java development, starting
with core Java fundamentals and progressively moving towards advanced
concepts. Students learn to work with Java Enterprise Edition (JEE), Spring
Framework, and various web technologies that form the backbone of modern
enterprise applications. The course emphasizes hands-on learning through
practical coding exercises and real-world project implementations.
On the front-end development side, interns gain expertise in HTML5, CSS3,
JavaScript, and popular frameworks like React or Angular. They learn to create
responsive, user-friendly interfaces that provide seamless user experiences across
different devices and platforms. The program also covers essential concepts in
web design principles, ensuring that participants can create aesthetically pleasing
and functional user interfaces.
Throughout the internship, participants work on real-world projects that simulate
actual workplace scenarios, allowing them to apply their learning in practical The
program also emphasizes software testing and debugging skills, teaching interns
how to write unit tests, perform integration testing, and use debugging tools
effectively. They learn about continuous integration and deployment (CI/CD)
practices, containerization with Docker, and cloud deployment strategies, making
them well-versed in modern development workflows.
WEEKLY REVIEWS
WEEK 1: JAVA BASICS
TOPICS COVERED: Variables, Data Types, Operators, Expressions, Control
Flow Statements
DESCRIPTION:
Week 1 delves into the essential building blocks of Java programming, covering
the fundamental concepts that form the backbone of any Java application.
Participants will explore variables, which are used to store data temporarily
during program execution, and learn about different data types available in Java,
including integers, floating-point numbers, characters, and booleans.
Furthermore, participants will dive into the world of operators, understanding how
to perform various operations such as arithmetic, relational, logical, and bitwise
operations in Java. They will also learn about expressions, which are
combinations of variables, operators, and literals that evaluate to a single value.
One of the crucial aspects covered in Week 1 is control flow statements, which
enable programmers to control the flow of execution within a Java program.
Participants will learn about decisionmaking statements such as if-else and
switch-case, as well as looping statements like for, while, and do-while loops.
By mastering these Java basics, participants will gain the foundational knowledge
and skills necessary to start writing simple Java programs and understanding more
complex Java code in the subsequent weeks of the course.
WEEK 2:OBJECT-ORIENTED CONCEPTS IN JAVA
TOPICS COVERED: Classes and Objects, Encapsulation, Inheritance,
Polymorphism, Abstraction.
DESCRIPTION:
Week 2 focuses on object-oriented programming (OOP) concepts in Java, which
form the bedrock of Java development. Object-oriented programming is a
programming paradigm that revolves around the concept of objects, which are
instances of classes that encapsulate data and behavior.
Participants will start by understanding the fundamental building blocks of OOP:
classes and objects. They will learn how to define classes, which serve as
blueprints for creating objects, and instantiate objects from these classes to
represent real-world entities in their Java programs.
Encapsulation, one of the core principles of OOP, emphasizes bundling data and
methods within a class and restricting access to the inner workings of an object.
Participants will explore how encapsulation promotes code modularity, reusability,
and maintainability by hiding implementation details and exposing only relevant
functionalities through well-defined interfaces.
Inheritance is another key concept covered in Week 2, where participants will
learn how to create new classes (derived classes) based on existing classes (base
classes). Through inheritance, derived classes inherit properties and behaviors
from their base classes, facilitating code reuse and promoting the concept of "is-a"
relationships.
Polymorphism, which means "many forms," allows objects of different classes to
be treated as objects of a common superclass. Participants will discover how
polymorphism enables flexibility and extensibility in Java programs by allowing
methods to behave differently based on the object they are invoked upon,
facilitating method overriding and method [Link], abstraction enables
the creation of simplified representations of complex systems, focusing on
essential features while hiding unnecessary details..
WEEK 3: JAVA INPUT-OUTPUT OPERATIONS AND
NETWORKING
TOPICS COVERD: Introduction to Java I/O (Input-Output) operations, Reading
and writing data from/to files, Byte streams vs. character streams, Using
BufferedReader and Buffered Writer for efficient file I/O, Introduction to Java
networking, Client-server architecture, Socket programming in Java, Establishing
TCP/IP connections, Handling client-server communication, URL handling and
HTTP connections.
DESCRIPTION:
Week 3 focuses on two critical aspects of Java programming: input-output (I/O)
operations and networking. Java I/O operations enable programs to read data from
external sources such as files and write data to output destinations. Participants
will start by understanding the basics of Java I/O, including the distinction
between byte streams and character streams. They will learn how to read and
write data from/to files using classes like FileInputStream, FileOutputStream,
FileReader, and FileWriter. Additionally, participants will explore buffered I/O
using BufferedReader and BufferedWriter, which improves I/O efficiency by
reducing the number of system calls.
Furthermore, participants will be introduced to Java networking, which enables
communication between different applications over a network. They will learn
about client-server architecture, where one program (the client) requests services
from another program (the server). Participants will delve into socket
programming in Java, understanding how to create and use sockets to establish
TCP/IP connections between client and server applications. They will learn about
various socket-related classes in the [Link] package, including Socket and
ServerSocket.
WEEK 4: INTRODUCTION TO SPRINGBOARD
TOPICS COVERD: Overview of the Spring Framework, Core concepts of
inversion of control (IoC) and dependency injection (DI), Spring IoC container
and bean configuration, Creating and managing beans in Spring, Spring bean
scopes: singleton, prototype, request, session, Autowiring and dependency
injection in Spring, Introduction to Aspect-Oriented Programming (AOP),
Understanding AOP concepts: aspects, join points, advice, pointcuts, weaving,
Creating and configuring aspects in Spring. Introduction to Spring MVC (Model-
View-Controller), Configuring Spring MVC controllers, views, and request
mappings, Handling form submissions and request parameters in Spring MVC,
Introduction to Spring Boot.
DESCRIPTION:
Week 4 introduces participants to the Spring Framework, one of the most popular
frameworks for building Java-based enterprise applications. Participants will
begin by understanding the core concepts of the Spring Framework, including
inversion of control (IoC) and dependency injection (DI). They will learn how
IoC enables the framework to manage the lifecycle of application objects and how
DI allows components to be loosely coupled by injecting their dependencies at
runtime.
Furthermore, participants will explore the Spring IoC container, which serves as
the backbone of the Spring Framework. They will learn how to configure and
manage beans within the IoC container, defining their dependencies, properties,
and scopes. Additionally, participants will understand the various bean scopes
supported by Spring, including singleton, prototype, request, and session scopes.
Moreover, participants will delve into autowiring and dependency injection
mechanisms in Spring, which simplify the wiring of dependencies between
components. They will learn how to use annotations such as @Autowired to inject
dependencies automatically, reducing boilerplate code and improving code
maintainability. Programming (AOP), a powerful paradigm for modularizing
cross-cutting concerns in applications.
WEEK 5: FULL-STACK JAVA DEVELOPMENT
- Frontend Technologies
TOPICS COVERED: Overview of Frontend Development Technologies,
HTML (Hypertext Markup Language): Structure of web pages, tags, attributes,
CSS (Cascading Style Sheets): Styling web pages, selectors, properties, values,
JavaScript: Basics of JavaScript, variables, data types, operators, control
structures, DOM (Document Object Model): Manipulating HTML elements using
JavaScript, jQuery: Introduction to jQuery library, DOM manipulation, event
handling, Bootstrap: Front-end framework for responsive web design, grid system,
components, AJAX (Asynchronous JavaScript and XML): Making asynchronous
requests to the server, Frontend Build Tools: Introduction to npm (Node Package
Manager), webpack, Babel, Frontend Frameworks: Introduction to Angular, React,
[Link].
DESCRIPTION:
Week 5 focuses on frontend development technologies in the context of full-stack
Java development, providing participants with a comprehensive understanding of
building user interfaces for web applications. Participants will begin with an
overview of frontend development technologies, understanding their roles and
importance in modern web development. They will learn about the structure and
semantics of HTML (Hypertext Markup Language), including tags, attributes, and
document structure, which form the backbone of web pages. Furthermore,
participants will delve into CSS (Cascading Style Sheets), which enables them to
style and design web pages. They will learn about CSS selectors, properties, and
values, and how to apply styles to HTML elements to achieve desired visual
effects and layouts.
WEEK 6: REAL-WORLD JAVA APPLICATIONS
TOPICS COVERD: Overview of Real-World Java Applications, Enterprise
Application Development with Java EE, Web Application Development with
Spring Boot, Microservices-Based Architectures in Practice, RESTful APIs and
Service-Oriented Architectures, Java Desktop Application Development, Java
Mobile Application Development, Cloud-Native Java Applications, Integration
with External Systems and APIs, Best Practices for Real-World Java
Development.
DESCRIPTION:
Week 6 focuses on Real-World Java Applications, providing participants with
insights into the diverse range of applications and use cases where Java is applied
in practice. Participants will explore various domains and industries where Java
technologies are prevalent, gaining a comprehensive understanding of the real-
world applications of Java.
The week begins with an Overview of Real-World Java Applications,
highlighting the ubiquity of Java across different sectors, including finance,
healthcare, e-commerce, and telecommunications.
Participants will learn about the versatility and scalability of Java, making it
suitable for a wide array of applications. Enterprise Application Development
with Java EE is a key topic covered in this week. Participants will learn about
building robust, scalable, and secure enterprise applications using Java EE
technologies such as Servlets, JSP, EJB, and JPA. They will explore the
architecture and components of Java EE applications and understand how to
leverage Java EE features for enterprise-grade solutions. Web Application
Development with Spring Boot is another essential topic. Participants will learn
about developing modern web applications using the Spring Boot framework.
They will explore Spring Boot's features for rapid development, dependency
injection, MVC architecture, and RESTful web services. Participants will
understand how to create RESTful APIs, handle data persistence with Spring Data
JPA, and secure web applications using Spring Security.
WEEK 7: ADVANCED JAVA CONCEPTS AND PROJECT
WORK
TOPICS COVERED: Advanced Java Language Features, Design Patterns in
Java, Concurrency and Parallelism in Java, Java Performance Optimization,
Security in Java Applications, Big Data Processing with Java, Java for Machine
Learning and AI, Reactive Programming with Java, Blockchain Development
with Java, Project Work: Implementing a Real-World Java Application
DESCRIPTION:
Week 7 delves into Advanced Java Concepts and Project Work, providing
participants with an in depth understanding of advanced Java topics and hands-on
experience in developing a real-world Java application.
The week begins with an exploration of Advanced Java Language Features,
covering topics such as generics, annotations, reflection, lambda expressions, and
streams. Participants will learn how to leverage these advanced language features
to write more concise, expressive, and maintainable code.
Design Patterns in Java will be discussed to introduce participants to common
design patterns used in Java development, such as creational, structural, and
behavioral patterns. Participants will learn how to apply design patterns to solve
common software design problems and improve code reusability, flexibility, and
maintainability.
WEEK 8: CAPSTONE PROJECT AND FINAL REVIEW
TOPICS COVERD: Capstone Project Presentation, Peer Review and Feedback,
Final Assessment and Evaluation.
DESCRIPTION:
Week 8 marks the culmination of the Full-Stack Java Development course with
the Capstone Project and Final Review. This week provides participants with the
opportunity to showcase their skills and knowledge acquired throughout the
course through a comprehensive capstone project presentation.
The week begins with the Capstone Project Presentation, where participants
present their final project to their peers, instructors, and industry professionals.
Each team will have the opportunity to demonstrate their project, highlighting the
problem statement, solution architecture, technical implementation, and key
features developed. Participants will showcase their ability to apply advanced
Java concepts, design patterns, and best practices to solve real-world problems
and deliver high-quality software solutions. Following the presentations, there
will be a Peer Review and Feedback session, where participants provide
constructive feedback to their peers on their projects. This peer review process
allows participants to learn from each other, gain insights into different
approaches and solutions, and improve their own projects based on feedback
received. It fosters collaboration, communication, and teamwork among
participants and encourages a culture
of continuous learning and improvement. The week concludes with the Final
Assessment and Evaluation, where participants' projects are evaluated based on
predefined criteria, such as functionality, usability, performance, code quality, and
presentation. Instructors and industry experts assess each project against these
criteria and provide comprehensive feedback and evaluation to the teams. This
final assessment serves as a comprehensive review of participant’s skills and
knowledge acquired throughout the course and provides valuable insights for their
professional development.
ACTIVITY LOG FOR THE FIRST WEEK
FROM DT: 01-05-2024 TO 08-05-2024
Day Person In-
& Brief description of the Charge
Daily Activity Learning Outcome
Date Signature
Introduction to Java, covering Gained an understanding
Day – 1 basic syntax and the development of Java syntax and set up
environment. a development
environment.
Learned to declare
Day - 2 Learned about variables and data variables and use various
types in Java. data types.
Studied operators and Understood how to
Day – 3 expressions, including arithmetic perform calculations and
and logical operators. logical operations in Java.
Explored control flow statements Gained knowledge of
Day – 4 like if-else and switch-case. decision-making in Java
through conditional
statements.
Practiced looping structures Mastered the basics of
Day – 5 such as for, while, and do- loops for repetitive tasks
while loops. in Java programs.
Reviewed Week 1 topics Strengthened
Day –6 through exercises and foundational skills in
practice projects. Java programming.
WEEKLY REPORT
WEEK – 1
Objective of Activity Done:
The goal for the first week was to establish a strong foundation in Java
programming by covering fundamental topics, such as variables, data types,
operators, expressions, and control flow statements.
Detailed Report:
During the first week of the internship, we focused on understanding the
basics of Java programming. Each day, we covered essential topics step-by-step,
starting with setting up the development environment and learning Java syntax. I
practiced declaring variables of various data types, performed operations using
different types of operators, and studied control flow statements, which are
essential for creating decision-based logic in applications. By the end of the week,
I became proficient in using loops, which are critical for handling repetitive tasks
in Java programs. The hands-on exercises provided by the mentor helped
reinforce these concepts, and I am now confident in writing simple Java programs
independently.
ACTIVITY LOG FOR THE SECOND WEEK
FROM DT: 09-05-2024 TO 16-05-2024
Day Person In-
Brief description of the
& Charge
daily Activity Learning Outcome
Date Signature
Introduction to OOPS concepts Understood basic OOP
Day – 1 Understood basic OOPS principles and their
principles and their importance importance
Learning about Classes and Gained practical skills in
Day - 2 Objects defining classes and
creating objects
Studied Encapsulation and Learned how to hide data
Day – 3 implemented encapsulated classes using encapsulation
Explored Inheritance concepts Understood inheritance
Day – 4 and created subclasses and its use in code reuse
Practiced Polymorphism Developed skills in
Day – 5 through method overloading using polymorphism for
and overriding flexibility
Learned about Abstraction
Day –6 and abstract Grasped abstraction
classes/interfaces techniques to simplify
complex systems
WEEKLY REPORT
WEEK – 2
Objective of Activity Done:
To gain an in-depth understanding of object-oriented programming
concepts in Java, including classes, objects, encapsulation, inheritance,
polymorphism, and abstraction.
Detailed Report:
This week focused on Java's Object-Oriented Programming principles. We began
by understanding the basics of OOP, starting with classes and objects, the
foundational elements of Java OOP. Through hands-on exercises, we learned how
to define classes and instantiate objects. We then explored encapsulation to
understand how data can be securely stored within classes, followed by
inheritance, which enabled us to see how subclasses can extend the functionality
of existing classes.
Polymorphism was introduced, showing how the same operation can behave
differently depending on the context. We practiced both method overloading and
overriding. Finally, we learned abstraction by working with abstract classes and
interfaces, which allowed us to simplify complex code structures. By the end of
the week, we developed a strong grasp of these concepts, equipping us to design
more modular and maintainable code in Java.
ACTIVITY LOG FOR THE THIRD WEEK
FROM DT: 17-05-2024 TO 24-05-2024
Day Person
Brief description of the In-
& Daily Activity Learning Outcome Charge
Date Signature
Introduction to Java I/O
Day – 1 operations and overview of file Learned basic file
handling classes like handling concepts and
FileInputStream, how to read/write data in
FileOutputStream, FileReader, files using Java.
and FileWriter.
Byte streams vs. character Gained insight into the
Day - 2 streams; implemented programs difference between byte
to handle different data streams. and character streams.
Worked with BufferedReader Learned to enhance I/O
Day – 3 and BufferedWriter for efficient efficiency using buffered
file input/output operations. streams.
Introduction to networking Understood basic
Day – 4 concepts and client-server networking principles,
architecture in Java. focusing on client-
server architecture
Practiced socket Gained hands-on
Day – 5 programming in Java; experience in socket
established TCP/IP programming and
connections between client-server
client and server. connections.
Introduction to
Day –6 URL handling and Learned the basics of
HTTP connections URL handling and
in Java. initiating HTTP
connections in Java.
WEEKLY REPORT
WEEK – 3
Objective of Activity Done:
To gain a comprehensive understanding of Java input-output (I/O) operations
and networking. This week’s objective was to learn how to handle data efficiently
between files and systems, and understand the basics of client-server interactions
using socket programming.
Detailed Report:
In the third week, I focused on understanding Java’s I/O mechanisms and basic
networking principles. I began by learning about Java's various I/O streams and
classes for file handling, such as FileInputStream, FileOutputStream, FileReader,
and FileWriter, which helped me understand file manipulation in Java. I also
explored the use of BufferedReader and BufferedWriter, which improve I/O
efficiency by buffering characters to minimize the number of read/write
operations.
Moving into networking, I learned about the client-server architecture and how
Java facilitates communication between programs over a network. By practicing
socket programming, I was able to establish TCP/IP connections, simulate client-
server communication, and apply networking concepts in a real-world scenario.
Finally, I learned how to manage URLs and establish HTTP connections, which is
essential for modern networked applications.
ACTIVITY LOG FOR THE FOURTH WEEK
FROM DT: 25-05-2024 TO 01-06-2024
Day Person In-
& Brief description of the Charge
Daily Activity Learning Outcome
Date Signature
Introduction to Spring Gained understanding of
Day – 1 Framework basics, including IoC core Spring concepts
and DI
Explored the Spring IoC Learned to configure and
Day - 2 container and bean configurations manage beans in Spring
IoC container
Practiced autowiring and Improved skills in
Day – 3 dependency injection in Spring reducing code
redundancy through DI
Started learning about Aspect- Gained knowledge
Day – 4 Oriented Programming (AOP) about AOP and its
applications in Spring
Explored Spring MVC for Learned to configure
Day – 5 web applications MVC controllers and
handle web requests
Introduction to Spring Boot Understood how to
Day –6 and setting up a basic project initialize and manage
Spring Boot
applications
WEEKLY REPORT
WEEK – 4
Objective of Activity Done:
This week’s objective was to introduce participants to the Spring
Framework, focusing on key concepts like Inversion of Control (IoC),
Dependency Injection (DI), Aspect-Oriented Programming (AOP), and Spring
MVC.
Detailed Report:
During the fourth week, we delved into the Spring Framework. The week started
with an overview of the core concepts, IoC and DI, followed by hands-on work
configuring beans within the IoC container. Participants learned to autowire
dependencies, making code modular and easier to maintain. The week continued
with an introduction to AOP, where we covered aspects, join points, and advice,
showing how to modularize cross-cutting concerns like logging. Toward the end
of the week, we explored Spring MVC for building web applications, configuring
controllers, and handling user requests. Finally, participants were introduced to
Spring Boot to simplify application setup, which they practiced with a basic
project setup.
ACTIVITY LOG FOR THE FIFTH WEEK
FROM DT: 02-06-2024 TO 08-06-2024
Day Person In-
& Brief description of the Charge
Daily Activity Learning Outcome
Date Signature
Introduced to HTML structure, Learned to create
Day – 1 tags, and attributes. structured web pages with
HTML.
Studied CSS basics: selectors, Gained skills in styling
Day - 2 properties, values. web pages using CSS.
JavaScript basics: variables, data Understood JavaScript
Day – 3 types, operators. fundamentals for dynamic
content.
Manipulating HTML elements
Day – 4 with JavaScript (DOM). Practiced DOM
manipulation to enhance
UI interactivity.
jQuery and Bootstrap for Applied jQuery and
Day – 5 responsive design. Bootstrap for dynamic,
responsive UIs.
Introduction to AJAX for Learned how to fetch
Day –6 asynchronous server requests. data asynchronously.
WEEKLY REPORT
WEEK – 5
Objective of Activity Done:
To gain a comprehensive understanding of frontend technologies required for
full-stack Java development, including HTML, CSS, JavaScript, and popular
libraries like jQuery and Bootstrap. The focus was on creating responsive,
interactive user interfaces and understanding asynchronous server communication
with AJAX.
Detailed Report:
This week focused on frontend technologies essential for full-stack development.
Starting with HTML, I learned how to structure web pages, followed by CSS for
styling and layout customization. JavaScript was introduced as a tool for adding
dynamic elements, with particular attention to DOM manipulation. Further, I
explored jQuery for simplifying JavaScript tasks and Bootstrap for building
responsive web designs. By the end of the week, I learned AJAX, which allows
fetching data from a server asynchronously, improving user experience. This
knowledge solidifies the foundation of frontend development, enhancing my skills
as a full-stack Java developer.
ACTIVITY LOG FOR THE SIXTH WEEK
FROM DT: 09-06-2024 TO 16-06-2024
Day Person
Brief description of the In-
& daily Activity Learning Outcome Charge
Date Signature
Overview of Real-World Java Learned about the
Day – 1 Applications, introduction to diverse applications of
enterprise application Java and the
development. fundamentals of
enterprise applications.
Studied Web Application Gained knowledge in
Day - 2 Development with Spring Boot. creating modern web
applications using
Spring Boot and its
MVC architecture.
Learned about RESTful APIs Understood how to create
Day – 3 and service-oriented RESTful APIs and apply
architectures. service-oriented
architecture principles.
Explored Java Desktop and
Day – 4 Mobile Application Gained insights into
Development. developing Java
applications for desktop
and mobile platforms.
Introduction to Cloud-
Day – 5 Native Java Applications. Learned the basics of
developing Java
applications suitable for
cloud environments
Integration with external
Day –6 systems and APIs. Developed skills to
integrate Java
applications with
external systems.
WEEKLY REPORT
WEEK – 6
Objective of Activity Done:
The objective of this week was to explore the practical applications of Java in
real-world scenarios, including enterprise, web, desktop, mobile, and cloud-native
applications. Emphasis was also on creating APIs and integrating with external
systems.
Detailed Report:
During this week, I delved into the practical side of Java applications, starting
with an overview of real-world Java use cases across industries such as finance,
healthcare, and telecommunications. I studied enterprise application development
using Java EE, learning how Java is used to build scalable and secure applications
for large organizations. Next, I explored web application development with
Spring Boot, which provided insights into creating RESTful APIs and using
Spring MVC architecture for efficient backend development.
As the week progressed, I also covered Java application development for desktop
and mobile platforms, understanding the unique requirements and tools needed for
each environment. Additionally, I was introduced to cloud-native Java
applications, gaining insights into adapting Java for cloud deployment and
integrating with external APIs and systems to enhance functionality. This week
has strengthened my understanding of Java's versatility and applicability in
various professional environments.
ACTIVITY LOG FOR THE SEVENTH WEEK
FROM DT: 17-06-2024 TO 24-06-2024
Day Person
Brief description of the In-
& Daily Activity Learning Outcome Charge
Date Signature
Studied advanced Java language Gained deeper
Day – 1 features like generics, understanding of
annotations, and lambda advanced Java syntax
expressions. and streamlined code
practices.
Explored design patterns in Java, Learned how design
Day - 2 including creational, structural, patterns improve code
and behavioral patterns. flexibility and reuse.
Studied concurrency and Acquired skills for
Day – 3 parallelism concepts in Java. writing multi-threaded
Practiced threading and applications, ensuring
synchronization. efficient processing.
Focused on Java performance Enhanced
Day – 4 optimization techniques, understanding of
including memory optimizing Java
management and garbage applications for better
collection. performance.
Reviewed security in Java Learned techniques to
Day – 5 applications, focusing on ensure secure Java
data encryption and secure applications, reducing
coding practices. vulnerability risks.
Started project work Applied advanced Java
Day –6 involving the concepts to real-world
implementation of a real- problems, gaining
world Java application. practical experience.
WEEKLY REPORT
WEEK – 7
Objective of Activity Done:
The objective for Week 7 was to dive into advanced Java concepts and start
project work on a real-world application. This involved mastering advanced
language features, understanding design patterns, managing concurrency,
optimizing performance, ensuring application security, and applying these skills
in project work.
Detailed Report:
This week provided hands-on exposure to complex Java features essential for
developing robust and efficient applications. Starting with advanced language
features, I learned about generics, annotations, and lambda expressions, which
helped me write cleaner and more maintainable code. Exploring design patterns
allowed me to understand how reusable solutions improve code quality, while
concurrency practices taught me to manage multiple threads effectively, a crucial
skill for responsive applications.
Focusing on performance optimization introduced me to best practices for
memory management, and a session on Java security provided insights into
safeguarding applications. By the end of the week, I began implementing a project,
applying these advanced concepts in a practical setting, which reinforced my
skills and boosted my confidence in Java development.
ACTIVITY LOG FOR THE EIGTH WEEK
FROM DT: 25-06-2024 TO 01-07-2024
Day Person In-
& Brief description of the Charge
Daily Activity Learning Outcome
Date Signature
Worked on finalizing the Practiced presenting
Day – 1 capstone project presentation project ideas clearly and
professionally
Peer review of other participants' Gained insights into
Day - 2 projects alternative approaches to
similar problems
Implemented feedback received
Day – 3 on the capstone project Enhanced project quality
through peer-reviewed
improvements
Conducted the capstone
Day – 4 project presentation Demonstrated technical
skills and
communication abilities
Participated in final Received feedback for
Day – 5 assessment and evaluation professional growth and
skill improvement
Reflected on the project and Improved self-
Day –6 documented final report assessment and
details reflective learning
capabilities
WEEKLY REPORT
WEEK – 8
Objective of Activity Done:
The objective for Week 8 was to complete the capstone project, including a
comprehensive presentation, peer review, and final evaluation. The aim was to
showcase the skills developed over the internship and receive constructive
feedback.
Detailed Report:
This week marked the culmination of the internship, focusing on the capstone
project presentation. The initial days involved refining the project based on prior
feedback, ensuring it met the objectives. The presentation highlighted the problem
addressed, solution design, and implementation details, showcasing the
application of Java and full-stack development skills acquired. Feedback from
peers provided new perspectives on potential enhancements, while the final
evaluation allowed for critical feedback from industry professionals. This week
reinforced the importance of communication, feedback integration, and
professionalism in delivering quality software solutions.
MAJOR PROJECT
E-COMMERCE WEBSITE
Description: Develop a E-Commerce Website using Full Stack Java.
Details:
Front-end: React, HTML5, CSS3, JavaScript
HTML5:
HTML5 is a markup language used for structuring and organizing content on
web pages. It provides a foundation for user interface, allowing developers
to create semantic and accessible web pages. HTML5 is used to define
headings, paragraphs, images, links, forms, tables, and other elements.
CSS3:
CSS3 is a styling language used for layout design and visual enhancements. It
enables developers to control the layout, color scheme, typography, and
overall aesthetic of web pages. CSS3 is used to create responsive designs,
animations, and transitions.
JavaScript:
JavaScript is a programming language used for client-side scripting. It adds
interactivity to web pages, allowing developers to create dynamic effects,
animate elements, and respond to user input. JavaScript is used for creating
web applications, mobile applications, and game development.
React:
React is a JavaScript library used for building reusable UI components. It
simplifies front-end development by allowing developers to break down
complex interfaces into smaller, manageable pieces. React is used for
creating fast, scalable, and maintainable web applications.
Angular:
Angular is a JavaScript framework used for building complex web
applications. It provides a robust solution for front-end development,
including dependency injection, routing, and services. Angular is used for
creating large-scale enterprise applications.
Back-end: Spring Boot, Java 8, Hibernate
Spring Boot:
Spring Boot is a Java framework used for building web applications. It
provides auto-configuration, embedded servers, and simplified dependency
management. Spring Boot is used for creating scalable, secure, and
maintainable web applications.
Java:
Java is an object-oriented programming language used for developing server-
side applications. It is used for creating enterprise-level applications, Android
apps, and web applications. Java is known for its platform independence,
strong security features, and large community.
Hibernate:
Hibernate is an Object-Relational Mapping (ORM) tool used for interacting
with databases. It simplifies data persistence by mapping Java objects to
database tables. Hibernate is used for creating scalable, efficient, and secure
database-driven applications.
Database: MySQL
MySQL:
MySQL is a relational database management system(RDBMS) used for storing
and managing data. It provides scalable storage solutions for web
applications, supporting various data types and query languages.
Security: Spring Security, JWT authentication
Spring Security:
Spring Security is a Java framework used for securing web applications. It
provides authentication, authorization, and protection against common web
vulnerabilities. Spring Security is used for creating secure, scalable, and
maintainable web applications.
JWT (JSON Web Tokens):
JWT is a token-based authentication standard used for securing data
transmission. It provides a compact, URL-safe means of representing claims
and authentication data. JWT is used for creating stateless, scalable, and
secure authentication mechanisms.
Deployment: Docker, AWS or Azure
Docker:
Docker is a containerization platform used for packaging and deploying
applications. It ensures consistent environments across development,
staging, and production. Docker is used for creating scalable, efficient, and
portable applications.
AWS (Amazon Web Services):
AWS is a cloud platform used for deploying and hosting web applications. It
provides scalable, reliable, and secure infrastructure solutions. AWS is used
for creating enterprise-level applications.
Azure:
Azure is a cloud platform used for deploying and hosting web applications. It
provides flexible deployment options, scalable infrastructure, and integrated
services. Azure is used for creating enterprise-level applications.
Introduction:
The objective of this project is to design and develop a fully functional e-
commerce website using Full Stack Java technologies. The website will allow
users to browse products, add to cart, checkout, and make payments.
Objectives:
Develop a scalable and secure e-commerce website
Implement payment gateway integration
Ensure responsive design for mobile and desktop devices
Implement user authentication and authorization
Develop an order management system for administrator
Requirements:
Java 8 or higher
Spring Boot 2.x
React 17.x or higher
MySQL 8.x or higher
Docker
AWS or Azure account
Stripe or PayPal account for payment gateway integration
Conclusion:
The E-Commerce Website Development project utilizing Full Stack Java
technologies aims to provide a comprehensive and functional online shopping
platform.
SKILLS ACQUIRED
During my Full Stack Java internship, I gained a comprehensive set of technical
and soft skills that transformed my understanding of modern web development.
One of the most valuable aspects was mastering the art of building responsive
user interfaces using HTML, CSS, and JavaScript. I learned to create intuitive
designs that not only looked great but also provided seamless user experiences
across different devices. Working with React components became second nature,
and I found myself thinking in terms of reusable, modular code structures.
The backend development experience was particularly enlightening. I dove deep
into Java Spring Boot, learning to create robust REST APIs and handle complex
business logic. Database management became a strong point as I worked
extensively with MySQL, implementing efficient queries and understanding the
importance of proper data modeling. Working with JPA and Hibernate opened my
eyes to the power of Object-Relational Mapping and how it streamlines database
operations.
I learned to adapt and stay current with rapidly evolving technologies. The
internship taught me how to read documentation effectively, explore new libraries
and frameworks, and make informed decisions about technological choices. This
mindset of continuous learning and adaptation has become one of my most
valuable takeaways from the experience, preparing me for a long-term career in
software development.
CHALLENGES OVERCOME
During my Full Stack Java internship, I encountered numerous challenges that
ultimately shaped me into a more competent developer. One of the initial hurdles
was grasping the vast ecosystem of Java frameworks and libraries. Spring Boot,
with its extensive configuration options and dependency injection concepts,
seemed overwhelming at first. I remember spending countless hours debugging
application context issues and understanding bean lifecycle management.
However, through persistent practice and guidance from senior developers, these
concepts gradually became clearer, and I learned to appreciate the framework's
power and flexibility.
One of the most significant challenges was handling complex database
relationships and optimizing queries. When working on a feature that required
multiple table joins and complex data manipulations, I encountered serious
performance issues. The application would slow down considerably with larger
datasets. This pushed me to dive deep into database optimization techniques,
learning about indexing strategies, query optimization, and caching mechanisms.
Through this experience, I discovered the importance of writing efficient queries
and understanding database execution plans.
KEY TAKEAWAYS
The virtual internship provided valuable insights into the importance of
adaptability, effective communication, and problem-solving in virtual work
environments, preparing me for future career opportunities in Full Stack Java.
CONCLUSION
Completing the Full Stack Java internship course with skillDzire provided
practical insights and real-world experience. Full Stack Java internship provided
invaluable hands-on experience in designing, developing, and deploying
scalable and secure web applications. Throughout the 2-month tenure, I gained
expertise in Java-based technologies such as Spring Boot, Hibernate, and Spring
Security, as well as front-end frameworks like React and Angular. I successfully
developed and deployed multiple projects, including an e-commerce website,
honing skills in database management, API integration, and cloud deployment.