0% found this document useful (0 votes)
23 views23 pages

internship report111

This internship report details the author's experience as a .NET and Full Stack Developer at Great Learning from October 2023 to December 2024, focusing on various programming languages and technologies. It outlines the objectives, tools used, and the live project undertaken during the internship, emphasizing the importance of real-world experience in software engineering. The report also includes a declaration of originality and a structured table of contents for easy navigation.

Uploaded by

abhinav.svp
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)
23 views23 pages

internship report111

This internship report details the author's experience as a .NET and Full Stack Developer at Great Learning from October 2023 to December 2024, focusing on various programming languages and technologies. It outlines the objectives, tools used, and the live project undertaken during the internship, emphasizing the importance of real-world experience in software engineering. The report also includes a declaration of originality and a structured table of contents for easy navigation.

Uploaded by

abhinav.svp
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/ 23

INTERNSHIP PROJECT REPORT

(Oct 2024-Dec 2024)


Internship report submitted in partial fulfilment of the requirement for the

degree of Bachelor of Technology

in

Electrical and Electronics Engineering

By Abhinav Dev Mishra


0967EX221002

Department of Electrical & Electronics Engineering


UIT-RGPV, Shivpuri, 473551,
Madhya Pradesh, INDIA
DECLARATION

I hereby declare that this submission is my own work carried out at Great Learning, from
October 2023 to December 2024 and that, to the best of my knowledge and belief, it contains
no material previously published or written by another person nor material which has been
accepted for the award of any other degree or diploma from a university or other institute of
higher learning, except where due acknowledgment has been made in the text.

Submitted by:
Abhinav Dev
Mishra
0967EX22100
2
Electrical and Electronics Department
UIT-RGPV, Shivpuri.

i
TABLE OF CONTENT

Content Page No.


Declaration By Candidate I
II

Chapter 01: INTRODUCTION 1


1.1 Introduction 1
1.2 Objectives 1
1.3 Internship Schedule 2

Chapter 02: Course DESCRIPTION 4


2.1 4
Description
Chapter 03: TOOLS AND TECHNOLOGIES USED 8
3.1 ReactJS 8
3.2 GitHub 10
3.3 Core Java & Advanced Java 12
3.4 Spring Tool Suite 14
3.5 JPA 14
3.6 Maven 15
3.7 Microservices 16
3.8 AWS 17

Chapter 04: LIVE PROJECT 19


4.1 Description 19
4.2 Modules 20
4.3 Implementation of Microservices using STS 21
4.5 Results 21

Chapter 05: CONCLUSION 22


5.1 Conclusion 23

iii
Chapter 01: INTRODUCTION

1. Introduction

An internship is a professional teachable moment that gives students real-world


experience in their field of study or professional goals. An internship enables
students to learn new skills while exploring and enhancing their careers. This
report is a description of my ongoing internship at Great Learning. This
internship report details the activities that helped me achieve a bunch of my
stated objectives. I was assigned the profile of “.NET and Full Stack Developer”
for my internship. First 2 months was learning of the basic concepts of
engineering and web development following the 3rd month will based on
company project.

2. Course Description

The introduction of engineering concepts to the creation, implementation, and


technical management is known as software engineering. Programming was
designed to address the challenges of low-quality software initiatives.
Problems arise when software exceeds schedules, budgets, and quality
expectations. It assures that the software is built in a consistent, correct, timely,
cost-effective, and specification-compliant manner. Programming became vital to
keep up with the rapid depending of user needs and the context in which the
program is expected to operate.

1
The Programmer Trainee is responsible to assist in the design and
development of software. The Programmer Trainee works with other
members of the team to develop secure and dependable software solutions. The
duties and responsibilities of this position are as follows:

● Application development (coding, programming)


● Code debugging and testing
● New software application documentation and testing
● Investigating, diagnosing, and resolving a wide range of technical
challenges
● Working with libraries
● Identifying issues and developing solutions
● Learning about new technology ahead of time

3. Objectives

The objective of the internship is to learn more about the programming languages
like Java, MySQL, JavaScript and ReactJS. These languages are the basic
requirements for my profile. After the learning process, I was assigned to work on
multiple mini projects for the course. This internship provides experience to the
freshers so that they can learn more about the industry. The perspective was to
gain enough knowledge so that we can work easily on the project assigned to us.

4. Internship Schedule

The internship plan was as follows:

➢ October 2024

I was designated my role and domain as Programmerin Java. Two weeks of


orientation took places and several tutorial and activities took place to
accustom to the course.

➢ December 2024

2
Chapter 03: TOOLS AND TECHNOLOGIES

3.1 ReactJS
ReactJS is a JavaScript framework for creating user interface
components that are declarative, quick, and adaptive. It's a
component-based front-end framework that's solely responsible for
the app's view layer. Jordan Walke, a Facebook software engineer,
came up with the concept. It was created and is maintained by
Facebook, and it is later utilised in Facebook products like as
WhatsApp and Instagram. ReactJS was created in 2011 for Facebook's
feed area, although it was first widely released in May 2013.

MVC is the most used website architecture today (model view


controller). In an MVC design, React is the view, while Flux or Redux
is the architecture. A ReactJS application is made up of several
components, each of which is responsible for producing reusable
HTML code. All React programmes are built on the foundation of
components. Simple building blocks can be used to create complex
applications by nesting them with additional components. The DOM-
based technique for populating data in the HTML DOM is
interconnected by ReactJS. It is quick because the virtual DOM
modifies individual DOM components rather than reloading the entire
DOM.

We develop React components that correlate to many aspects to make


a React app. These components, which are grouped into higher-level
components, make up the application structure. Consider a form that
has, among other things, the needed fields, labels, and buttons. Each
form element can be built as a React component., which we then
combine to build the form component. The form elements would
8
describe the structure and parts of the form.

The main goal of ReactJS is to create a user interface that assists programme
performance. It speeds up the programme by using a virtual DOM (JavaScript
objects). The virtual DOM is faster than the regular DOM in JavaScript. ReactJS
can be used on both the server and client sides, as well as in conjunction with
other frameworks. To frame and make app maintenance easier, component and
data structures are employed.

3.1.1 Features of ReactJS

ReactJS is gradually gaining traction among web developers as the


most popular JavaScript framework. It's an essential component of
the front-end ecosystem. Some of ReactJS' important features are as
follows:

● JSX – JavaScript XML

● Components

● One-way Data Binding

● Virtual DOM

● Simplicity

● Performance

9
3.2 GitHub

Software developers and engineers can use GitHub to build public-


facing cloud repositories for free. You can transfer a GitHub
repository to your device, add and alter files locally, and then "push"
your changes back to the repository, where they will be visible to the
public.

Repository

A repository (sometimes shortened as "repo") is a site where all of the


files for a project are kept. Each project has its repository, which you
can access using a specific URL.

Forking a Repo

When you establish a new project based on an existing project, this is


known as "forking." This is a fantastic tool that greatly fosters the
development of new applications and projects. If you find a project on
GitHub that you'd want to contribute to, you can fork it, make the
modifications you want, and then republish it as a new repo. You may
quickly add changes to your current fork if the original repository that
you forked to create your new project is updated.

Git Commit

You're ready to commit once you've staged the files you want to add.
The commit message is important regardless of whether you commit
using GitHub Desktop or the command line. Short commit statements
that describe your change should be used. The commit messages will
lead you through the history of your repository, therefore they should
10
be informative. The following message format can be used in
command-line commits:

git commit -m "git commit message


example"

Pull Requests

You've forked a repository, made a fantastic change to the project, and


want the original devs to notice it—perhaps even put it in the original
project/repository. Create a pull request to accomplish this. The
original repository's authors can view your work and decide whether
or not to accept it into the official project. When you submit a pull
request, GitHub provides an excellent communication channel
between you and the primary project's maintainer.

11
3.3 Core Java & Advanced Java

It is a Java programming language feature. It's a Java technology or


version that's specifically built for developing web-based, network-
centric, or enterprise applications. It covers topics such as Servlet,
JSP, JDBC, RMI, and socket programming, among others. It is a
domain-specific specialty.
The majority of advanced Java programmes employ a two-tier
architecture, namely Client and Server. Advanced Java apps include
all applications that execute on the server.
Why bother with Java?
o It reduces the complexity of developing a multi-tier application.
o Creates a common API for components and the application server
container.
o The framework services are provided by the JEE application server
and containers.
o Advantages of Advanced Java
o Advance Java has four primary advantages: network centricity,
process simplification, and a futuristic imaging standard.
o JEE (advanced Java) includes libraries that help you comprehend the
Client-Server architecture for web-based applications.
o Web and application servers such as Apache Tomcat and Glassfish
are also available. We can learn how the HTTP protocol works by
using these servers. It is not possible in core Java.
o It's also crucial to know advanced Java if you're working with trading
technologies like Hadoop, cloud-native, and data science
o It provides a set of services, APIs, and protocols that enable the
capability required to construct multi-tiered and web-based
applications.

12
o A number of advanced Java frameworks, such as Spring, Hibernate,
and Struts, enable us to construct secure transaction-based web
applications like banking and inventory management.

Difference between Core Java and Advance Java

Criteria Core Java Advance Java

Used for It is used to develop It is used to develop


general purpose web-based
application. applications.

Purpose It does not deal It deals with socket


with database, programming, DOM,
socket and networking
programming, etc. applications.

Architecture It is a single tier It is a mute-tier


architecture. architecture.

Edition It is a Java Standard It is a Java Enterprise


Edition. Edition.

Package It provides It provides


java.lang.* java.servlet.*
package. package.

13
3.4 Spring Tool Suite

All of these issues have been addressed by the Spring framework. This
framework develops corporate applications utilising modern approaches
such as Aspect-Oriented Programming (AOP), Plain Old Java Object
(POJO), and dependency injection (DI), reducing the complexity
associated with developing enterprise apps using EJB. Spring is a
lightweight open source framework that enables Java EE 7 developers
to create easy, dependable, and scalable corporate applications. This
framework is primarily concerned with offering multiple methods for
managing business items. When compared to traditional Java
frameworks and Application Programming Interfaces (APIs), such as
Java database connection (JDBC), Java Server Pages (JSP), and Java
Servlet, it makes developing Web applications considerably easier. The
Spring framework, which includes Spring AOP, can be thought of as a
collection of sub-frameworks, often known as layers. Object-Relational
Mapping in Spring (Spring ORM). Spring Web MVC, Spring Web
Flow When building a Web application, you can use any of these
modules separately. To improve the functionality of a Web application,
the modules can be joined together.

Features of the Spring Framework


The Spring framework stands out from the crowd thanks to features like
IoC, AOP, and transaction management. The following are some of the
most important characteristics of the Spring framework:
• IoC container:
The DI or IoC pattern is used by the core container to implicitly supply
an object reference in a class during runtime. As an alternative to the
service locator pattern, this pattern is used. The IoC container contains

14
The Spring framework is made up of seven modules, as indicated in the
diagram above. Spring Core, Spring AOP, Spring Web MVC, Spring
DAO, Spring ORM, Spring context, and Spring Web flow are the
modules in question. These modules provide several platforms for
creating various enterprise applications; for example, the Spring Web
MVC module can be used to create MVC-based apps.

Spring Framework Modules


• Spring Core Module:

• Spring AOP Module:

• Spring ORM Module:

• Spring Web MVC Module:

• Spring Web Flow Module:

• Spring Web DAO Module:

• Spring Application Context Module

17
3.5 Java Persistence API

The Java persistence API is abbreviated as JPA. The Java persistence API is a
specification for persistence, which is a broad term that refers to any way by
which Java objects can outlast their application activity. Although all Java
objects do not need to be persistent, most applications nevertheless include
critical business objects. Its definition allows you to specify which items in
your Java applications must survive and how they should persist. It is not a
tool or framework in and of itself; rather, it describes a set of principles that
any tool or framework can enforce.
Although Hibernate was founded on JPA's object-relation mapping (ORM), it
has since evolved. Similarly, while JPA was created for use with
relational/SQL databases, it has been used with NoSQL datastores were
extended. EclipseLink is a common platform that supports JPA with NoSQL
and is the reference implementation of JPA 2.2.

What is JPA ORM?


Although they differ in execution, each JPA implementation includes some
type of ORM layer. To comprehend JPA and JPA-compatible technologies,
you must have a solid understanding of ORM. Object mapping is a technique
that developers should avoid doing by hand. A framework like Hibernate
ORM or EclipseLink converts this method into a library or application, or an
ORM layer. The ORM layer, which is part of the framework architecture,
performs the translation of software objects into a relational database.
The ORM layer transforms Java classes and objects into relational databases,
allowing them to be saved and handled in Java. Fields are changed to columns,
and the name of the object kept by design becomes the table name. Once the
table is configured, the application focuses on each table row. Although object
mapping can be changed, it works fine by default.

18
The relationship between an entity and other entities is described by each form
of relationship. A one-to-many relationship might exist between an entity
represented by a collection like List or Set and Performance. If the musicians
possessed a band-field, they may use a multi-to-one arrangement, implying
that they were all in the same band class.

3.6 Maven

Maven is a project management and comprehension tool that provides a


comprehensive build lifecycle framework for developers. Because Maven uses
an uniform directory architecture and a default build lifecycle, the
development team may automate the project's build infrastructure in nearly no
time.
In the case of different development teams, Maven can quickly set up the way
to operate according to standards. Maven makes life easier for developers
when developing reports, inspections, build and testing automation setups
because most project setups are simple and reusable.
Maven provides developers ways to manage the following −
• Builds
• Documentation
• Reporting
• Dependencies
• SCMs
• Releases
• Distribution
• Mailing list
To summary, Maven makes the project development process easier and more
consistent. It effortlessly handles duties such as compilation, distribution,
documentation, team collaboration, and others. Maven improves reusability

20
reporting and now includes a link to the Maven wiki page where you can get a
complete description of the error.

3.7 Microservices

A microservice is a distributed service that is tiny and loosely connected.


Microservice architectures arose as a response to the scalability and innovation
issues that Monolith designs posed (Monolith systems are often large,
containing over 100,000 lines of code). It lets you to break down a large
application into smaller, more manageable components with clearly defined
roles.
Reasons for using Microservice:
There are a few issues in monolith application:
1. It can be difficult to understand the complexity of a huge programme and
make code changes quickly and effectively; it can also be challenging to
manage the code.
2. To ensure the impact of changes, applications must undergo comprehensive
manual testing.
3. The entire application must be created and deployed for a little
modification.
4. The large application slows down the start-up process.

Benefits of Microservices:
1. Small Modules –
The application is divided down into smaller components that
developers can easily build and manage.
2. Easier Process Adaption –
Microservices make new technology and process adaptation easier.
With the modern microservices that we utilise, you can experiment with
23
new technologies.
3. Independent scaling –
Based on their demands, each microservice can scale separately via X-
axis scaling (cloning with extra CPU or memory) and Z-axis scaling
(sharding).
4. Unaffected –
The failure of a single module has little impact on large applications.
5. DURS –
Each service can have its own DURS (deployed, updated, replaced, and
scaled)..
Spring Boot is the best Java framework to implement Microservices.

3.8 AWS – Amazon Web Services

AWS is an Amazon service that leverages a distributed IT architecture


to make various IT resources available on demand. Infrastructure as a
service (IaaS), platform as a service (PaaS), and packaged software as a
service are some of the services it offers (SaaS).
Amazon launched AWS, a cloud computing platform that allows
businesses to benefit from dependable IT infrastructure.
Uses of AWS
• A tiny manufacturing company leverages its expertise to develop
its business by outsourcing IT administration to AWS.
• A multinational corporation with offices all around the world can
use AWS to train its scattered workforce.
• AWS can be used by an architecture consulting firm to obtain a
high-resolution representation of a construction prototype.

• A media organisation can utilise the AWS to distribute various


24
types of material to users all over the world, such as ebox or
audio files.

Pay-As-You-Go
AWS provides services to consumers based on the Pay-As-You-Go
philosophy. Customers can use AWS services whenever they choose, with no
commitment or upfront cost. Customers can buy AWS services on a pay-as-
you-go basis.
o Programming models
o Database storage
o Computing
o Networking

Advantages of AWS
1) Flexibility
2) Cost-effectiveness
3) Scalability/Elasticity
4) Security
25
Chapter 04: PROJECT

4.1 Description

A leading HealthCare Management Organization wanted to strengthen its


Middleware by exposing the core logic related to Claims Management as
Microservices. This middle ware Microservices was hosted on Cloud so that all
the up/downstream applications can get an access to this for performing
business transactions.
There was also a Member Portal developed as part of this scope that
consumed these Microservices and responses back to members who are in need
of Claim related information.

Below are the modules that were developed as part of the Project:
Req. Req. Req. Description
No. Name
REQ_01 Claims Claims Module is a Middleware
Module Microservice that performs
following operations:
• Get Claim Status
• Validate Eligibility of Claim
and Action Settlement
REQ_02 Member Member Module is a
Module Middleware Microservice that
performs the following operations:
• View Bills
• Submit Claim
• View Claim Status
REQ_03 Policy Policy Module is a Middleware
Module Microservice that performs the
following operations:
• Get Chain of Permissible
Providers (Hospitals)
• Get Benefits permissible
under a policy
• Get Acceptable Claim
Amount per benefit, per policy
26
REQ_04 Member A Web Portal that allows a
Portal member to Login and allows to do
following operations:
• Login
• View Current Bill Status, Next
Due
• Verify Claim Status
• Submit a Claim

Hardware and Software Requirement


1. Hardware Requirement:
a. Developer Desktop PC with 8GB RAM
2. Software Requirement (Java)
a. Spring Tool Suite (STS) Or any Latest Eclipse
i. Have PMD Plugin, EclEmma Code Coverage Plugin
and AWS Code Commit Enabled
ii. Configure Maven in Eclipse
b. Maven
c. Docker (Optional)
d. Postman Client in Chrome

System Architecture Diagram

27
o View Claim Status
o Submit a Claim
o View Bill Status of the subscribed policies
o Each of the above operations will reach out to the middleware
Microservices that are hosted in cloud.

Cloud Deployment requirements


• All the Microservices must be deployed in Cloud
• All the Microservices must be independently deployable. They have to
use In-memory database or user sessions wherever applicable
• The Microservices has to be dockized and these containers must be
hosted in Cloud using CI/CD pipelines
• The containers have to be orchestrated using AWS/Azure Kubernetes
Services.
• These services must be consumed from an MVC app running in a local
environment.

4.5 Results

Here are some snapshots, depicting various modules and


functionalities of the project and how the front end looks and
operates.

31
32
Chapter 05: CONCLUSION

5.1 Conclusion

In conclusion, this internship has become a wonderful and rewarding experience.


I can say that my stay with Great Learning(P) Ltd - A Paymentus Company was
quite beneficial to me. Needless to say, the technical components of my work
aren't perfect and, given enough time, could be improved. As someone who had
no prior experience with full stack development, I think the effort I spent learning
and understanding about was well spent, as it helped to construct a fully effective
web service. Two of the most significant lessons I've learned are time
management and self-motivation.

33

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy