Internship Report
Internship Report
STACK DEVELOPMENT
A report submitted to the department of
Computer Science in partial fulfillment of the requirements of the
award of the Degree
BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
By
Munduri Uday Sri Manikanta
20EM1A0569
Under the guidance of
Internal Guide External Guide
Mrs. I. Lakshmi Pradeepa Mr. K Santhosh
Assistant Professor, CSE Dept KodNest
i
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
SWARNANDHRA INSTITUE OF ENGINEERING & TECHNOLOGY
Seetharamapuram, Narsapur-534 280
CERTIFICATE
External Examiner
ii
ORGANIZATION CERTIFICATE
iii
DECLARATION
I certify that
a. The internship contained in the report is original and has been done by me under the
guidance of my supervisor.
b. The work has not been submitted to any other University for the award of any degree or
diploma.
c. The guidelines of the college are followed in writing the internship report.
Date:
iv
ACKNOWLEDGEMENT
I whole heartedly and sincerely thank my guide Mrs. I. Lakshmi Pradeepa, Assistant
Professor, Dept of CSE and Mrs. P. Haritha, Associate Professor & Head of the Department of
Computer Science and Engineering, Swarnandhra Institute of Engineering & Technology,
Seetharampuram for their valuable suggestions and encouragement during the preparation and
progress of my internship.
v
INDEX
2 Organization Profile 2
3 Introduction 3-4
5.1 Java 7
5.3 Angular JS 10
6 Screenshots 14-16
9 Conclusion 22
10 List Of Reference 23
vi
WEEKLY OVERVIEW OF INTERNSHIP ACTIVITIES
vii
01/03/2024 FRIDAY INHERITANCE, TYPES, EXAMPLES
INSTALLATTION OF ORACLE SOFTWARE
02/03/2024 SATURDAY POLYMORPHISM
CREATING A TABLE
DATE DAY NAME OF THE TOPIC
04/03/2024 MONDAY ABSTRACTION, ABSTRACT CLASS AND INTERFACE
viii
week 21/03/2024 THURSDAY ESTABLISHING CONNECTION CREATING
TABLE
22/03/2024 FRIDAY ANIMATIONS
INSERT,UPDATE,DELETE
23/03/2024 SATURDAY CROSS JOINS
TRANSFORMATION
ix
1. LEARNING OBJECTIVES/INTERNSHIP OBJECTIVES
Internships are generally thought of to be reserved for college students looking to gain
experience in a particular field. However, a wide array of people can benefit from Training
Internships in order to receive real world experience and develop their skills.
An objective for this position should emphasize the skills you already possess in the area and your
interest in learning more.
Internships are utilized in a number of different career fields, including architecture, engineering,
healthcare, economics, advertising and many more.
Some internship is used to allow individuals to perform scientific research while others are
specifically designed to allow people to gain first-hand experience working.
Utilizing internships is a great way to build your resume and develop skills that can be emphasized
in your resume for future jobs. When you are applying for a Training Internship, make sure to
highlight any special skills or talents that can make you stand apart from the rest of the applicants
so that you have an improved chance of landing the position.
2. ORGANIZATION PROFILE
Organization Information:
Kodnest started small, not in a big fancy place or with lots of stuff. It all began with a dream
about helping students reach their dreams,the first to teach Full Stack in our area, and the first to
make learning online exciting and real.
They built a place where students can feel like they're already part of the working world while
still learning. There place is where new ideas meet hard work, and everyone gets a chance to
shine.
But Kodnest is more than just a tech company. It's a family. It don't just teach; there are here to
guide, to cheer you on, and to inspire.
1
Training:
KodNest training programs, led by industry experts, are tailored to equip professionals and
organizations with the essential skills and knowledge needed to thrive in the rapidly evolving data
landscape. We believe in continuous learning and growth, and our commitment to staying on top
of emerging trends and technologies ensures that our clients receive the most cutting-edge
training possible.
3. INTRODUCTION
In today's technology-driven world, full stack development has become an essential skill
set for creating robust, scalable, and dynamic software applications. Full stack developers possess
expertise in both front-end and back-end technologies, allowing them to build comprehensive
solutions from start to finish.This report presents a comprehensive overview of my internship
experience at Kodnest, focusing on the Java Full Stack Development program. Kodnest is a
renowned technology training and development company that specializes in providing cutting-
edge education and industry-relevant training to aspiring software developers.
The internship began with a foundational phase, where we delved into the core concepts of
Java programming. Topics such as object-oriented programming, data structures, algorithms, and
design patterns were explored in depth. This phase served as a solid base for the more complex
topics that followed.
2
The next phase introduced front-end development, focusing on HTML, CSS, JavaScript,
and frameworks like React. We learned how to build responsive and interactive user interfaces,
understanding the principles of user experience (UX) and user interface (UI) design. This phase
also included practical exercises in creating single-page applications (SPAs), enabling us to
appreciate the front-end aspect of full stack development.
During the internship, I was immersed in a dynamic learning environment that emphasized
practical skills, teamwork, and real-world project experience. The Java Full Stack Development
program at Kodnest covers a wide range of topics, including:
Front-end Development: Learning and working with HTML, CSS, JavaScript, and popular
frameworks like React or Angular.
Back-end Development: Developing server-side logic using Java, Spring Framework, and
associated technologies.
Database Management: Designing and interacting with databases using SQL and NoSQL
technologies.
Version Control and Deployment: Using tools like Git for version control and deploying
applications to cloud platforms.
Throughout the internship, I participated in a variety of projects and exercises that honed
my technical skills while providing insight into the collaborative aspects of software development.
This report aims to document the skills acquired, the projects completed, and the key lessons
learned during the internship, providing a valuable reflection on the entire experience.
KodNest Dream Factory is an Initiative of kod Nest Technologies Pvt Ltd which is also India's fast
growing Ed-Tech company.KodNest aims to prepare the final and pre final year tech graduates
with in demand technical and interview preparation skills. This is an opportunity that is given
without any charges as the mission of KodNest is to provide a fair playing ground for tech aspirants
from all kinds of background.As a final or pre final year this is your chance to unlock your tech
potential for free. We offer intensive training programs for in-demand technical skills, designed to
equip you with the skills that companies asks and land you your dream job.Join growing
3
community of 10000+ successful alumni who have landed their dream jobs through this program.
Internships are an Integral ask in the IT industry when you apply for any job and why should
anyone pay for an internship when KodNest is providing 3 Internship programs to masters your
technical skills and crack your Dream Job for absolutely free
4. SOFTWARE REQUIREMENTS
The Java Full Stack Internship with Angular as the front-end framework and Spring Boot
for the back-end requires a specific set of software tools, development environments, and
frameworks. These tools and technologies are essential for building, testing, and deploying full-
stack applications efficiently. Below is a detailed list of software requirements for this internship:
1. Development Environments
Integrated Development Environment (IDE) for Java: An IDE like IntelliJ IDEA, Eclipse, or
NetBeans to develop Java and Spring Boot applications.
Code Editor for Angular: A lightweight code editor like Visual Studio Code or Sublime Text for
Angular development.
Git: A distributed version control system to manage code repositories, track changes, and
collaborate with other developers. GitHub, GitLab, or Bitbucket can be used for hosting
repositories.
3. Front-End Technologies
Angular: The Angular framework (Angular 2 and above) for building front-end applications. It
includes Angular CLI (Command Line Interface) for project setup, building, and deployment.
Node.js and npm: Node.js to run JavaScript outside the browser, and npm (Node Package Manager)
to manage project dependencies for Angular.
HTML, CSS, JavaScript/TypeScript: Core front-end technologies for building the user interface.
4
TypeScript is often used in Angular projects.
4. Back-End Technologies
Java and Spring Boot: Java as the primary programming language and Spring Boot for building
RESTful APIs, microservices, and back-end logic.
Maven/Gradle: A build tool (Maven or Gradle) for managing project dependencies and building
Java projects.
Database: A relational database like MySQL or PostgreSQL for storing data, and optionally a
NoSQL database like MongoDB.
JUnit and Mockito: JUnit for unit testing in Java and Mockito for mocking objects in tests.
Jasmine and Karma: Jasmine for unit testing in Angular and Karma for running tests in different
browsers.
CI/CD Tools: Tools like Jenkins, Travis CI, or GitHub Actions for continuous integration and
continuous deployment.
7. Supporting Tools
Postman: A tool for testing RESTful APIs, useful for debugging back-end services.
Swagger/OpenAPI: For documenting and testing APIs, enabling easy integration with front-end
applications.
5
Browser Tools: Browser developer tools (like Chrome DevTools) for debugging and profiling
front-end applications.
Trello/Jira: Project management tools for tracking tasks and sprints in Agile environments.
5. TECHNOLOGIES
5.1 JAVA
Java is one of the most widely used programming languages in the world, renowned for its
portability, versatility, and robustness. Developed by Sun Microsystems in the mid-1990s, and now
maintained by Oracle Corporation, Java has evolved into a multi-faceted language with a diverse
ecosystem. Its "write once, run anywhere" (WORA) philosophy allows developers to create
applications that can run on any system with a Java Virtual Machine (JVM), making it a popular
choice for cross-platform development.
Java is used in a wide range of applications, from enterprise software and web applications
to mobile apps and embedded systems. Its extensive standard library, combined with a vibrant
community and rich set of frameworks, makes it a powerful choice for building scalable and secure
applications.
At the core of Java's success is its platform independence. The JVM acts as an abstraction
layer, enabling Java programs to run on different operating systems without modification. This
capability, along with Java's robust security features, has made it a standard in enterprise
environments, where reliability and portability are crucial.
Java's syntax is straightforward and readable, drawing inspiration from C and C++, which
has contributed to its widespread adoption. The language supports object-oriented programming
(OOP), allowing developers to create reusable and maintainable code structures. In addition to
OOP, Java supports functional programming concepts through lambda expressions, streams, and
other modern features introduced in recent versions.
6
One of the key strengths of Java is its extensive ecosystem. Frameworks like Spring and
Hibernate have revolutionized enterprise development, providing tools for building scalable back-
end services and robust data access layers. Java EE (Enterprise Edition), now Jakarta EE, offers a
suite of specifications for building enterprise applications, including servlets, JavaServer Faces
(JSF), and Enterprise JavaBeans (EJB).
Java is also a leading platform for Android development, with the Android SDK relying
heavily on Java for building mobile applications. Although Kotlin has gained popularity as an
alternative language for Android development, Java remains a foundational technology in the
Android ecosystem.
The Java community is known for its strong support and collaboration. With a vast array
of open-source projects, extensive documentation, and a rich set of development tools like IntelliJ
IDEA, Eclipse, and NetBeans, Java developers have access to a wealth of resources for learning
and innovation.
SQL (Structured Query Language) databases are a cornerstone of modern data storage, retrieval,
and management systems. They are designed to efficiently handle structured data and have been
the go-to solution for relational data management for decades. If you need to describe SQL
databases for your report, here are the key points you might want to cover:
SQL databases use a structured approach to organize data into tables, which consist of rows and
columns. This tabular structure allows for easy querying, indexing, and relationships among data.
The relational model, proposed by Edgar F. Codd in 1970, underpins the design of SQL databases,
emphasizing the use of keys and relationships to maintain data integrity.
Relational Structure: Data is stored in tables, with each table representing a specific entity.
Relationships among tables are established using primary keys (unique identifiers for each row)
and foreign keys (references to primary keys in other tables).
7
SQL Language: SQL is the standard language for interacting with relational databases. It provides
commands for querying, updating, and managing data, such as SELECT, INSERT, UPDATE, and
DELETE.
Data Integrity and Constraints: SQL databases enforce data integrity through constraints like
primary keys, foreign keys, unique constraints, and check constraints. These rules ensure that the
data remains consistent and reliable.
Normalization: SQL databases use normalization to minimize data redundancy and avoid data
anomalies. This process involves decomposing complex tables into simpler ones to maintain
consistency and reduce duplication.
Several SQL database systems are widely used across different industries. Some of the most
popular ones include:
MySQL: An open-source SQL database known for its speed, reliability, and ease of use. It's
commonly used for web applications and small to medium-sized businesses.
PostgreSQL: An open-source, feature-rich SQL database that supports advanced features like
complex queries, triggers, and stored procedures. It's favored for enterprise-level applications.
Microsoft SQL Server: A robust SQL database system from Microsoft, popular in enterprise
environments and with deep integration into the Microsoft ecosystem.
Oracle Database: A powerful and highly scalable SQL database known for its advanced features
and support for large-scale enterprise applications.
8
Enterprise Applications: Managing complex business processes, customer data, and internal
operations.
Financial Systems: Storing and processing financial transactions, ensuring data integrity and
compliance.
Healthcare Systems: Managing patient records and medical data, with strict data privacy and
security requirements.
Consistency and Reliability: ACID properties ensure consistent and reliable data transactions.
Rich Querying Capabilities: SQL allows complex queries, joins, and data aggregations.
Strong Data Integrity: Constraints and normalization help maintain data integrity.
Scalability: SQL databases can scale to handle large volumes of data and high transaction loads.
5.3 AngularJS
AngularJS is a popular JavaScript framework that was created by Google to simplify the
development of dynamic, single-page web applications (SPAs). Introduced in 2010, AngularJS
gained widespread adoption due to its declarative approach to building complex UIs and its
extensive set of built-in features. Here’s an overview of AngularJS, its key concepts, and its
significance in the world of web development.
AngularJS is a framework designed for creating rich, interactive web applications. It is often
referred to as a "Model-View-Controller" (MVC) framework, though it can also be seen as
adopting an "MVVM" (Model-View-ViewModel) approach. AngularJS allows developers to bind
data to the UI dynamically, enabling real-time updates and a more fluid user experience.
Two-Way Data Binding: One of AngularJS's hallmark features is its ability to bind data from the
model to the view and vice versa. This feature simplifies development, as changes to the underlying
data are automatically reflected in the user interface.
9
Directives: AngularJS uses directives to extend HTML with custom elements and attributes.
Common directives include ng-model for data binding, ng-repeat for looping through collections,
and ng-if for conditional rendering.
Dependency Injection: AngularJS has a built-in dependency injection system that promotes
modularity and testability. This feature allows developers to inject services and other dependencies
into components with ease.
Controllers and Scope: AngularJS uses controllers to define application logic. The $scope object
acts as a bridge between the controller and the view, facilitating two-way data binding.
Templates: AngularJS uses HTML-based templates to define the structure of the user interface.
These templates can include expressions, directives, and filters to create dynamic content.
Services and Factories: Services and factories in AngularJS are used to encapsulate reusable
business logic. These components promote code reusability and maintainability.
Routing and Single-Page Applications (SPAs): AngularJS supports routing through the ngRoute or
ui-router modules, enabling developers to create SPAs with multiple views and navigation.
Testing and Debugging: AngularJS is designed with testability in mind. Tools like Karma and
Protractor facilitate unit and end-to-end testing, while the AngularJS Batarang extension aids in
debugging.
Single-Page Applications (SPAs): AngularJS is ideal for SPAs where users interact with a web
application without full page reloads.
Dashboards and Admin Panels: AngularJS's dynamic data-binding capabilities are well-suited for
building real-time dashboards and admin interfaces.
E-commerce Sites: AngularJS can be used to create dynamic product catalogs and shopping carts
with a responsive user experience.
Content Management Systems (CMS): AngularJS provides the flexibility to build custom CMS
platforms with interactive content editing features.
10
Transition to Angular
It's worth noting that AngularJS is different from Angular (often referred to as Angular 2 and later).
AngularJS represents the original framework, while Angular is a complete rewrite with a modern
architecture, component-based structure, and more robust tooling. Angular addresses some of
AngularJS's limitations and provides a path forward for developers seeking a more modern
framework.
Spring Boot is a popular framework within the Spring ecosystem designed to simplify the
development of Java-based applications. It streamlines the setup, configuration, and deployment
process, enabling developers to focus on writing business logic rather than dealing with boilerplate
code and complex configurations. Here's an overview of Spring Boot, including its key features,
common use cases, and why it's so widely adopted.
Spring Boot is a framework designed to facilitate the rapid development of Spring applications by
providing sensible defaults, opinionated configurations, and a robust set of tools for building
scalable applications. It allows developers to create stand-alone, production-ready applications
with minimal setup. Spring Boot eliminates the need for complex XML configurations and manual
dependency management, making it a preferred choice for modern Java development.
Embedded Servers: Spring Boot applications are often packaged as stand-alone applications with
embedded servers like Tomcat or Jetty. This feature allows you to run the application independently
without requiring a separate server setup.
Spring Boot Starters: Starters are pre-configured dependency sets that make it easy to add
commonly used libraries and frameworks to your project. For example, spring-boot-starter-web
includes everything needed for a web application, while spring-boot-starter-data-jpa includes JPA-
related dependencies.
11
Actuator: Spring Boot Actuator provides a set of tools for monitoring and managing Spring Boot
applications in production. It offers endpoints for metrics, health checks, and application status.
Externalized Configuration: Spring Boot supports external configuration through properties files,
YAML files, environment variables, and command-line arguments. This flexibility allows you to
change configurations without modifying the codebase.
Testing Support: Spring Boot includes robust testing support, making it easy to write unit tests and
integration tests for Spring-based applications.
Web Applications: Spring Boot is widely used for building RESTful web services and traditional
web applications. It provides support for building APIs with Spring MVC, handling HTTP
requests, and integrating with front-end frameworks.
Microservices: Spring Boot is a popular choice for building microservices due to its lightweight,
modular design. It integrates seamlessly with other Spring Cloud components to enable
microservices architecture.
Batch Processing: Spring Boot can be used for batch processing with Spring Batch, allowing for
the execution of complex workflows and data processing tasks.
Data-Driven Applications: Spring Boot offers robust support for data persistence with Spring Data,
facilitating the use of JPA, MongoDB, Redis, and other data stores.
12
6. SCREENSHOTS
13
14
15
7. QUIZ QUESTIONS
16
17
18
8. INTERNSHIP REGISTRATION PROOFS
19
20
9. CONCLUSION
The Java Full Stack Development internship provided me with a solid grounding in essential
technologies and concepts required for a career in software development. Despite not having the
opportunity to work on a specific project, I gained valuable insights into the processes and skills
involved in full stack development.
Throughout the internship, I attended various training sessions, workshops, and technical
discussions that focused on front-end and back-end technologies. I became familiar with key front-
end tools such as Angular, HTML, CSS, and JavaScript, learning how to create interactive and
responsive user interfaces. On the back-end, I was introduced to Spring Boot, gaining an
understanding of server-side programming, RESTful APIs, and database management.
Even without hands-on project experience, the internship allowed me to develop foundational
skills and grasp the workflow of a full stack developer. I also had the opportunity to learn about
development best practices, code organization, and the importance of collaboration in a software
development environment.
The internship helped me appreciate the value of teamwork and communication within a
development team. I learned about the Agile methodology and its role in software development, as
well as the use of version control systems like Git for collaborative work.
I would like to thank the mentors and instructors who shared their knowledge and expertise during
the internship. Their guidance has been instrumental in my learning journey, and I look forward to
building upon this foundational experience as I continue to grow in the field of software
development.
https://learn.kodnest.com/myaccount/#/classes
https://www.geeksforgeeks.org/java/
https://angular.io/
https://spring.io/guides/gs/spring-boot
21