Nagarro Gbu Internship Report
Nagarro Gbu Internship Report
Nagarro Gbu Internship Report
.NET TECHNOLOGY
An Internship Project report for the evaluation and partial fulfilment of the requirement
for the award of the degree
Submitted By:
CERTIFICATE
The Internship Report is prepared and submitted by Nikhil Mishra (Roll Number: 19/BIT/055),
has been found satisfactory in terms of scope, quality, and presentation as partialfulfillment of
the requirements for the course IT - 494 (Internship – 8th Semester) of the degree of Bachelor of
Technology in Information Technology in GAUTAM BUDDHA UNIVERSITY, GREATER NOIDA,
INDIA.
This is to certify that the above statement made by the candidates is correct to the best of my
knowledge and belief. However, responsibility for any plagiarism-related issue solely stands with
the students.
I would like to express my sincere thanks to Mr. Manas Fuloria, CEO, Nagarro and
Ms. Aditi Sharma, mentor for their valuable guidance and untiring efforts during my
internship. Their valuable guidance and suggestions have helped me in various phases
of this internship. I will always be thankful to them in this regard.
I would also like to extend my deep appreciation to my family without their support and
constant encouragement I would not have been able to complete this internship.
Nikhil Mishra
19/BIT/055
B. Tech (Information Technology)
8th Semester
Gautam Buddha University, Greater Noida.
4
Abbreviations
5
Contents
Certificate 2
Internship Letter 3
Acknowledgement 4
Abbreviations 5
Contents 6
Abstract 8
Chapter 1: Introduction 9
Chapter 2: GIT 10
Chapter 3: C# 12
Chapter 4: DSA 19
Chapter 5: SQL 22
Chapter 7: MVC 26
Chapter 9: Angular 31
Conclusion 33
References 34
6
About the organization
Nagarro prides itself on its strong technical expertise and a culture of innovation. The
company leverages emerging technologies such as artificial intelligence, machine
learning, blockchain, and Internet of Things (IoT) to help clients stay ahead in the digital
era. They adopt an agile and collaborative approach, working closely with clients to
understand their unique requirements and deliver tailor-made solutions.
One of Nagarro's key strengths lies in its talented workforce. The company employs a
global team of highly skilled professionals who bring their expertise in various domains,
ensuring the successful delivery of projects. Nagarro also encourages a culture of
continuous learning and growth, providing employees with ample opportunities for skill
enhancement and career development.
7
ABSTRACT
The document begins by exploring GIT and its version control system, discussing
collaborative workflows, and highlighting the importance of effective code management.
It then delves into C#, covering the fundamentals of the programming language and its
application in project development. Emphasis is placed on best practices, code
optimization techniques, and leveraging C# to create robust and efficient software
solutions.
The role of SQL in relational database management is also discussed, encompassing SQL
queries, data manipulation, and database design principles. The document highlights the
importance of efficient database management for successful software applications.
Additionally, the document explores the MVC architectural pattern, discussing its
benefits, limitations, and its role in developing scalable and maintainable web
applications. It also delves into Design Patterns, offering insights into their practical
application and demonstrating how they can improve software design, maintainability,
and reusability.
Lastly, the document covers Angular, a popular framework for building dynamic web
applications. It explores Angular's features, best practices, and performance
optimization techniques, enabling the creation of responsive and user-friendly
interfaces.
8
INTRODUCTION
The internship experience at Nagarro provided a valuable opportunity to gain hands-on
knowledge and practical insights into various technologies used in the field of software
development. This document presents a detailed analysis of the practical application and
development of GIT, C#, DSA, SQL, MVC, Design Patterns, and Angular during the
internship. It aims to provide a comprehensive understanding of these technologies and
their significance in real-world projects.
The methodology employed for this analysis is based on firsthand experience and
reflective insights gained during the internship period. It includes a combination of
practical project work, collaboration with mentors and colleagues, and self-learning
through resources and documentation. The document reflects on the internship
experience and presents findings based on the practical application of the technologies
in a professional setting.
9
GIT
2.1 Overview of GIT Version Control System:
This chapter provides a comprehensive overview of GIT, a widely used version control
system. It explains the fundamental concepts and functionalities of GIT, including
repositories, commits, branches, and merges. The significance of version control in
managing the codebase and facilitating collaboration among developers is emphasized.
10
11
C#
3.1 Introduction to C# Programming Language:
This chapter serves as an introduction to C#, a widely used programming language in
the field of software development. It begins by providing a comprehensive overview of
the language, its syntax, and its fundamental concepts. Readers are introduced to the
key features of C#, including its strong type of system, garbage collection, and support
for object-oriented programming. The chapter also highlights the platform
independence of C#, as it can be used for developing applications on different
operating systems, including Windows, macOS, and Linux.
12
It emphasizes the importance of writing clean and optimized code, while also
highlighting the versatility of C# in building a wide range of software applications. This
knowledge sets the stage for the subsequent chapters, where readers will delve into
additional technologies and explore their integration with C# to create robust and
efficient software solutions.
13
Solution:
There are 5 classes in total for this exercise Equipment, Mobile, Immobile, Type of
Equipment, Equipment Inventory, and Main Class.
Equipment Class
14
Mobile Class
Immobile Class
15
Equipment Inventory
16
Main Class
17
DSA (Data Structures and Algorithms)
4.1 Importance of DSA in Software Development:
In this, we delve into the significance of Data Structures and Algorithms (DSA) in
software development. We explore how DSA facilitates efficient data management and
problem-solving, ultimately leading to the creation of robust and optimized software
solutions.
Here, we mainly focused on the data structures that help us proceed with the training
faster and more efficiently.
Linked List, Stacks, Queues, Priority Queues, and Hash Tables are the data structures
that I learned and have been mentioned below.
4.3 Stacks:
Here, we explore the stack data structure. We discuss its LIFO (Last-In, First-Out)
behavior and the operations associated with it, including push, pop, and peek. The
section also covers practical applications of stacks, such as expression evaluation,
backtracking algorithms, and function call management.
4.4 Queues:
In this section, we delve into the queue data structure. We explain its FIFO (First-In,
First-Out) nature and the operations it supports, such as enqueue and dequeue. We
explore different types of queues, including linear queues and circular queues. We also
discuss real-world scenarios where queues are commonly used, such as task
scheduling, job management, and network packet routing.
18
search trees. We also examine practical applications of priority queues, such as task
scheduling, event management, and data compression.
The requirements that we were asked to complete in the mentioned data structures:
19
20
SQL (Structured Query Language)
5.1 Relational Database Management Systems (RDBMS):
This section provides an introduction to Relational Database Management Systems
(RDBMS) and their importance in modern data storage and management. It discusses
the key characteristics of RDBMS, such as tables, relationships, and the ACID (Atomicity,
Consistency, Isolation, Durability) properties. Readers gain an understanding of how
RDBMS organize data into tables and establishes relationships between them.
21
Web Design Fundamentals: HTML, CSS, and
JavaScript
6.1 Introduction to HTML:
This section provides an introduction to HTML, the foundation of web design. It covers
the basic structure of HTML documents, including elements, tags, and attributes.
Readers learn how to create well-structured and semantically meaningful web content
using HTML.
22
The assignment was to create an enrollment form:
23
Result:
24
MVC (Model-View-Controller)
The Assignment of this topic was to create a Book reading event page where a user must
be provided with the following features.
• Log In
• Register
• View Events
Register Page
Login Page
26
Home Page
27
Design Patterns
8.1 Introduction to Design Patterns
28
Design Pattern Used in Training:
Dependency Injection:
Dependency Injection is a design pattern where the dependencies of a class are
provided from the outside, rather than being created within the class itself. This
promotes loose coupling and easier testing and maintenance.
Singleton:
Singleton is a design pattern that ensures only one instance of a class exists throughout
the application. It provides global access to this instance and is commonly used for
shared resources or centralized control.
Decorator Pattern:
Decorator Pattern allows dynamically adding new behavior to an object without
modifying its structure. It provides a flexible and modular way to extend the
functionality of an object at runtime.
Repository Pattern:
Repository Pattern provides a layer of abstraction between the data access layer and
the business logic layer. It centralizes data access operations and provides a
standardized interface for working with data.
Publisher-Subscriber Pattern:
Publisher-Subscriber establishes a one-to-many relationship between objects, where
the subscribers (observers) are notified and updated automatically when the state of
the publisher (subject) changes. It enables loose coupling and event-driven
communication between components.
29
Angular
9.1 Overview of Angular Framework:
Angular is a popular framework for building web applications. This section provides an
overview of the Angular framework, its key features, and its role in modern web
development. It covers concepts such as components, templates, modules, and
dependency injection, highlighting the benefits of using Angular for developing robust
and scalable applications.
Angular Assignment
30
31
Conclusion
This comprehensive internship report provides an in-depth exploration of the internship
experience at Nagarro, highlighting the utilization of various technologies and concepts.
The report begins with an insightful introduction, presenting the objectives and scope of
the internship report. It lays the groundwork for the subsequent discussions, paving the
way for a detailed exploration of the technologies employed during the internship.
The report extensively covers essential technologies such as GIT, C#, DSA, SQL, MVC,
Design Patterns, and Angular. Each technology is thoroughly examined, shedding light
on its significance, practical applications, and best practices. Through a combination of
theoretical explanations and real-world examples, readers gain a deep understanding of
these technologies and their relevance in modern software development.
Real-world scenarios and projects where these technologies were applied are extensively
discussed in the report. Case studies and examples illustrate how these technologies are
effectively utilized to address specific challenges and achieve desired outcomes. By
delving into these practical applications, readers acquire practical knowledge and
insights into the implementation of these technologies in professional settings.
Furthermore, the report delves into important topics such as data structures, SQL
queries, and database design and optimization. It explores the fundamental concepts,
principles, and techniques associated with these topics, providing readers with a strong
foundation for efficient data organization, retrieval, and manipulation.
32
References
• Nagarro:
https://www.nagarro.com/en
• C# Documentation:
https://learn.microsoft.com/en-us/dotnet/csharp/
• DSA Reference:
https://www.geeksforgeeks.org/
• JS Official Documentation:
https://developer.mozilla.org/en-US/docs/Web/JavaScript
• MVC:
https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-
started/introduction/getting-started
• Design Patterns:
https://www.geeksforgeeks.org/software-design-patterns/
• Angular:
https://angular.io/docs
33