0% found this document useful (0 votes)
116 views62 pages

19BPS1034 Capstone

This document is a project report submitted by Jyotika Jaiswal for the partial fulfillment of a Bachelor of Technology degree. It discusses Jyotika's 4-month long software engineering internship at JP Morgan Chase & Co. The internship focused on building a knowledge management application for the legal department as a full-stack developer. The report covers details about JP Morgan, the internship training, technologies used like React, Springboot, MongoDB, and lessons learned through virtual experiences and certifications obtained during the internship.

Uploaded by

Ayush Saxena
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)
116 views62 pages

19BPS1034 Capstone

This document is a project report submitted by Jyotika Jaiswal for the partial fulfillment of a Bachelor of Technology degree. It discusses Jyotika's 4-month long software engineering internship at JP Morgan Chase & Co. The internship focused on building a knowledge management application for the legal department as a full-stack developer. The report covers details about JP Morgan, the internship training, technologies used like React, Springboot, MongoDB, and lessons learned through virtual experiences and certifications obtained during the internship.

Uploaded by

Ayush Saxena
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/ 62

A project report on

SOFTWARE ENGINEERING INTERNSHIP


AT JP MORGAN CHASE & CO.

Submitted in partial fulfillment for the award of the degree of

Bachelor of Technology

in

Computer Science

with Specialization in Cyber Physical Systems

by

JYOTIKA JAISWAL

19BPS1034

SCHOOL OF COMPUTER SCIENCE & ENGINEERING


May 2023
SOFTWARE ENGINEERING INTERNSHIP
AT JP MORGAN CHASE & CO.

Submitted in partial fulfillment for the award of the degree of

Bachelor of Technology

in

Computer Science

with Specialization in Cyber Physical Systems

by

JYOTIKA JAISWAL

19BPS1034

SCHOOL OF COMPUTER SCIENCE & ENGINEERING


May 2023
DECLARATION

I hereby declare that the thesis entitled “SOFTWARE


ENGINEERING INTERNSHIP AT JP MORGAN CHASE & CO.” submitted
by me, for the award of the degree of Specify the name of the degree VIT is a
record of bonafide work carried out by me under the supervision of Guide
Name

I further declare that the work reported in this thesis has not been
submitted and will not be submitted, either in part or in full, for the award of
any other degree or diploma in this institute or any other institute or university.

Place: Chennai

Date: 7th May, 2023 Signature of the Candidate


ABSTRACT

This piece of work talks about various aspects of the author’s 4 month long Software
Engineering internship at JP Morgan Chase & Co. The job description is based on the
line of business - Employee Experience & Corporate Technology. The role is a full-
stack software development role and the project is based on building a Knowledge
Management application. The use-case is built for the legal department of the firm. The
legal knowledge management application entails the sharing, management, transferring
and safe-guarding of legal documents. The internship duration is full of various learning
mechanisms like certifications, virtual experiences and internship trainings, covering
theoretical as well as hands-on coaching. JP Morgan used technologies such as React,
Springboot, Mongo DB and Jenkins are focused on in the training provided by
professional mentors, and these technologies are used to build a real-time application.
Project and team management is a crucial part of the firm, therefore ample emphasis on
Agile methodology for team managing and Jira, Confluence and BitBucket is given for
ensuring seamless product delivery. Winding-up outcomes of the internship as well as
future plan of the employment and the application is also discussed.

i
ACKNOWLEDGEMENT

It is my pleasure to express with deep sense of gratitude to Dr. Umitty Srinivasa


Rao, Associate Professor, SCOPE, Vellore Institute of Technology, for his/her
constant guidance, continual encouragement, understanding; more than all, he
taught me patience in my endeavor. My association with him / her is not confined
to academics only, but it is a great opportunity on my part of work with an
intellectual and expert in the field of software engineering.

I would like to express my gratitude to G.Viswanathan, Sankar Viswanathan,


Sekar Viswanathan, GV Selvam, Rambabu Kodali, Kanchana Bhaskaran V.S,
and Dr. Ganesan R, SCOPE, for providing with an environment to work in
and for his inspiration during the tenure of the course.

In jubilant mood I express ingeniously my whole-hearted thanks to Dr.


Maheswari R, Program Chair of CSE with Cyber Physical Systems all
teaching staff and members working as limbs of our university for their not-
self-centered enthusiasm coupled with timely encouragements showered on
me with zeal, which prompted the acquirement of the requisite knowledge to
finalize my course study successfully. I would like to thank my parents for
their support.

It is indeed a pleasure to thank my friends who persuaded and encouraged me to


take up and complete this task. At last but not least, I express my gratitude and
appreciation to all those who have helped me directly or indirectly toward the
successful completion of this project.

Place: Chennai

Date: 7th May, 2023 Name of the student

Jyotika Jaiswal

ii
CONTENTS

CONTENTS iii

LIST OF FIGURES vi

LIST OF ACRONYMS vii

CHAPTER 1 - INTRODUCTION

1.1 ABOUT THE COMPANY 1

1.2 ABOUT THE LINE OF BUSINESS 6

1.3 ABOUT THE DEPARTMENT 7

1.4 ABOUT THE PROJECT 8

CHAPTER 2 – INTERNSHIP TRAINING

2.1 INTRODUCTION 9

2.2 SCHEDULE 10

2.3 ABOUT THE PROJECT 11

2.4 TECHNOLOGICAL STACK 15

2.5 OUTCOME 15

iii
CHAPTER 3 – LEARNINGS

3.1 INTRODUCTION 16

3.2 VIRTUAL EXPERIENCES 16

3.3 LEARNING CERTIFICATIONS 21

3.4 OUTCOME 23

CHAPTER 4 – TECHNOLOGICAL SPECIFICATIONS

4.1 INTRODUCTION 24

4.2 REACT 24

4.3 SPRINGBOOT 26

4.4 JENKINS 28

4.5 CLOUD 29

4.6 MONGODB 33

4.7 ADOBE ANALYTICS 35

4.8 INTELLIJ 36

4.9 JIRA 38

4.10 GIT 39

4.11 CONFLUENCE 40

4.12 JUNIT 42

iv
CHAPTER 5 – PROJECT SPECIFICATIONS

5.1 PROJECT DESCRIPTION 43

5.2 PROJECT ARCHITECTURE 45

CONCLUSION & FUTURE WORK 50

REFERENCES 51

v
LIST OF FIGURES

1. Insights about JP Morgan Chase & Co. 1

2. Division of business segments’ contribution to JPMC's revenues 3

3. Architecture of Rewards Application 14

4. Software Engineering completion certificate 17

5. Advanced software engineer completion certificate 18

6. Agile completion certificate 19

7. Cybersecurity completion certificate 20

8. React 25

9. Spring 26

10. Springboot 27

11. Jenkins 28

12. Types of cloud 31

13. Cloud service models 31

14. MongoDB 34

15. Adobe analytics 36

16. Intellij 37

17. Jira 38

18. Github 40

19. Confluence 41

20. JUnit 42

21. Architecture of Knowledge Management Application 49

vi
LIST OF ACRONYMS

1. JPMC JP Morgan Chase & Co.

2. AWM Asset Wealth Management

3. CB Commercial Banking

4. CCB Consumer & Community Banking

5. CIB Corporate & Investment Banking

6. EECT Employee Experience & Corporate Technology

7. FRDC Financial, Risk, Data & Controls

8. GTI Global Technology Infrastructure

9. CTO Chief Technology Office

10. CTC Cyber & Tech Controls

11. IC International Consumer

12. KM Knowledge Management

13. USP Unique Selling Point

14. CI/CD Continuous Integration / Continuous Delivery

15. UI User Interface

16. AWS Amazon Web Services

17. DBMS Database Management System

18. PO Product Owner

vii
Chapter 1

1. INTRODUCTION

1.1 ABOUT THE COMPANY

JP Morgan Chase & Co. is a global monetary facility and investment


banking institution. It is the biggest financial services and banking company
of United States of America. By the metric of market capitalization,
JPMorgan is the world’s leading bank. It has total assets worth of $3.7
trillion and stakeholder’s equity worth of $303 billion. It is headquartered in
New York City and is incorporated in Delaware. Being an influential
economic organization, it was named #1 in Fortune’s Change the World list.

JP Morgan is established by the incorporation and alliance of 1200 +


predecessor financial organizations that amalgamated through the years to
build the company that it is today. Some of the essential legacy organizations
of the company include Chase Manhattan, J.P. Morgan, Bank One, Chemical
Bank, National Bank of Detroit and First Chicago that contributed to the
evolution of JP Morgan Chase & Co.

Fig 1. Insights about JP Morgan Chase & Co.

1
JP Morgan Chase & Co. has a storied history that reigns over 200 years, with
the roots tracing back to 1799 when the Manhattan Company was formed.
In 1871, J.P. Morgan founded J.P. Morgan & Co. In 1913, the Federal
Reserve Act was signed into law, giving J.P. Morgan a role in managing the
central bank. In 1984, Chemical Bank becomes the biggest bank of the
United States by taking over Manufacturers Hanover Trust Company. In
1991, a merger of Chemical Bank is established with Manufacturers
Hanover and Chase Manhattan. In 2000, J.P. Morgan & Co. merges with
Chase Manhattan Corporation to establish what we now know as JP Morgan
Chase & Co. Since then, the company has thrived and expanded to become
one of the biggest banks of the world.

JP Morgan Chase & Co. sustains as the largest financial organization of the
world by its various business operations that run globally. It operates in four
major business segments that include a vast range of economic solutions and
services for the clients. The business segments are:

1. Asset & Wealth Management –

Asset & Wealth Management (AWM) business segment provides wealth


management solutions to organizations and individuals. AWM delivers
various investment products such as mutual funds, exchange traded
funds, private equity and hedge funds. This division provides a wide
spectrum of strategies and personalized advices for asset management,
retirement services, estate planning, brokerage services and other asset
banking classes. AWM contributes to 12% of the company’s revenues.

2. Commercial Banking –

Commercial Banking (CB) business segment offers a range of financial


services to various businesses from big to small, including start-ups,
small corporations, middle-market companies, local governments and
large multinational companies. It offers various innovative financial
solutions, such as – cash management, money lending, trade services,
capital market solutions, trade finances etc. CB contributes to 7% of the
company’s revenues.

2
3. Consumer & Community Banking –

Consumer & Community Banking (CCB) business segment offers a


range of economic services to individual consumers, businesses and
communities. This division offers services such as payment solutions,
consumer banking, credit and debit cards, home and auto lending, auto
loans, money management etc. It provides these services through digital
banking, online banking, mobile banking, bank branches and ATMs.
CCB contributes to 37% of the company’s revenues.

4. Corporate & Investment Banking –

Corporate & Investment Banking (CIB) business segment provides


monetary solutions to investors, institutions, merchants, corporates and
organizations. It provides services like investment bank, corporate
banking, market services and capital raising. The division also offers
advisory services and risk management solutions to help clients to
achieve financial goals. CIB contributes to 44% of company’s revenues.

Fig 2. Division of business segments’ contribution to JPMC's revenues

3
These business operations keep the company’s growth well-paced and
emphasize on its global evolution. The company has important functional
sections that deliver the operations to the consumers and keep JP Morgan’s
business up and running. These essential sections include –

1. Employee Experience & Corporate Technology-

Employee Experience & Corporate Technology (EECT) is the most


essential fragment that focuses on driving the productivity and
accomplishing the business goals. It is an amalgamation of two areas-
Employee Experience, which focuses on enhancing the internal
functionalities and services to enrich the employee productivity and
Corporate Technology, which focuses on the internal systems and
software tools used within the organization that enables the business
services provided by the company.

2. Global Technology Infrastructure-

Global Technology Infrastructure (GTI) is a division of the company that


emphasizes on providing and managing the technological infrastructure
of the company. It ensures that JP Morgan’s services are based on a
reliable, secure and efficient infrastructure. It provides networking
connections, storage systems, computing platforms, data centers and
end-user support services.

3. Chief Technology Office-

Chief Technology Office (CTO) is a division of the company that


focuses on driving technological strategies and innovations across the
business. The segment supports the company’s technological
transformation efforts and adaptation of new technologies such as cloud
computing and artificial intelligence. It works closely to enable such
transformations that can make the company’s services more advanced.

4
4. Finance Risk Data and Controls Unit-

Finance, Risk, Data, and Controls Unit (FRDC) is a division of the


company that works integrated to ensure that the company operates
efficiently, safely and profitably. The ‘finance’ aspect is responsible for
managing the firm’s economical resources, investments and cash flow.
It also handles the financial planning, reporting and analysis of the firm.
The ‘risk’ aspect is responsible for identifying, handling and mitigating
existing and potential risks that could impact the company’s business
operations and reputation. The ‘data’ aspect is responsible to deal with
the critical part of making data usable for identifying trends, making
informed business decisions and conducting thorough data analysis to
gain useful client data insights. The ‘control’ aspect is responsible for
formulating policies, procedures and systems for smooth functioning of
the business operations, and making them safe and secure.

5. Cyber & Tech Controls-

Cyber & Tech Controls (CTC) is a division of the company that focuses
on safeguarding the business operations of the firm from cyber threats.
The cyber threats have the ability to compromise the integrity,
confidentiality and the efficacy of the data, therefore cyber security plays
a crucial part to protect this data against the threats. JP Morgan’s CTC
division has cyber security procedures that conduct risk assessments,
planning and monitoring for mitigating these threats. Technology
controls proposes mechanisms that ensure proper use, encryption and
management of any and all hardware and software technologies.

6. International Consumer-

International Consumer (IC) is a division of the company that focuses


on the business clients outside of the United States of America. JP
Morgan Chase & Co. has financial services and banking ventures that
run globally, and it is in the firm’s aim to provide services to
international consumers. Therefore, the IC division’s responsibility is to
effectively serve the international customers of the firm and maintain
seamless networking and communication of the company worldwide.
The applications are built specifically the international consumer.
5
These essential segments within the firm make the business operations of
the firm possible, and furthermore, make them global. Overall, JP Morgan
Chase & Co. is the most leading and global financial organization with
strong commitment to technology, innovation and financial business
practices that has enabled exponential worldly advancements and
economical evolutions over the years.

1.2 ABOUT THE LINE OF BUSINESS

The line of business to which my employment is aligned to is Employee


Experience and Corporate Technology (EECT). This segment embodies the
complete corporate side of the company that deals with various essential
aspects that make the business operations of JP Morgan Chase & Co.
possible and streamlined. Corporate technology is crucial to enhance the
productivity, efficiency and customer experience of the firm. This line of
business is the backbone of all the operations and businesses handled by the
company. It also has teams that focus on building solutions that will improve
the employee experience.

One of the main goal of the line of business is to enhance the technologies
used by the employees. All of the internal softwares and applications that
are built for JP Morgan Chase & Co. employee use only are developed by
the technologists of the line of business. Technologists of the line of business
also emphasize on the up and coming technologies of JP Morgan Chase &
Co. that the company is integrating to the teams. EECT has teams
encompassing technologies like artificial intelligence, blockchain and cloud
that build useful products out of these technologies. By leveraging these
technologies, various efficient solutions have been enabled for the company,
such as –

1) Artificial Intelligence teams that have made processing and analyzing of


billions of data possible to capture useful trends and insights of clients.

2) Blockchain teams have enabled streamlined and secure transactions.

3) Digital platforms that have made remote transactions and availing


banking services possible from anywhere anytime.

6
4) Machine learning teams that have made personalization of the banking
services suiting to individual clients possible.

5) Cloud teams that are constantly working on the integration of JP Morgan


applications to cloud to increase scalability.

JP Morgan is investing largely in these technologies and by prioritizing these


areas they are taking a leap of innovation to enhance efficiency.

EECT is the backbone of all the business operating segments of the firm. It
provides efficient applications and solutions for various departments of the
company, such as the accountants, bankers, attorneys and lawyers etc. The
division brings innovation to all sectors of the firm. EECT makes the
functioning of JP Morgan, both internally and externally possible.

1.3 ABOUT THE DEPARTMENT

The department to which my employment is aligned to is the Legal Solutions


department of the firm. Nationally only 4 Software interns (SEP) of batch
2023 were taken to be a part in the legal department. The department plans
and develops solutions for the lawyers of JP Morgan Chase & Co.

The legal department of the firm is responsible for giving legal advices to
the company, for managing the firm’s legal matters and for ensuring that the
firm’s business proceedings comply with the laws and regulations. The legal
department consists of lawyers, attorneys and paralegals that provide
constant support to the functioning of the company. They also identify and
mitigate any potential legal risks that the firm may experience in the course.

Needless to say that the legal department plays an immensely crucial role in
the existence of the company by ensuring that all external and internal
business operations are operated in accordance with the applicable rules and
regulations. The department keeps the company up and running. The Legal
Solutions department consists of software engineers that formulate and
develop applications that help in the functioning of the legal department of
the firm.

7
Various technologies are used to build useful applications that can help the
firm and the legal professionals to streamline their operations and better
manage their workload. Some use-cases that the department applications are
built on are-
1) Management, organizing and processing of large volume of data,
documents, contracts and confidential information.
2) Electronic discovery, which is the process of identifying, collecting, and
producing electronically stored information in response to legal requests.
3) Data analysis mechanisms that help legal departments to identify
patterns and trends in legal data.
4) System to capture, store and share useful information and knowledge
within the legal department

Overall, the department’s aim is to ease the legal functioning of JP Morgan


by developing innovating, secure and efficient applications for the internal
use of the lawyers and attorneys.

1.4 ABOUT THE PROJECT

The goal of the project to which my employment is aligned to is to build a


‘Knowledge Management’ application. Knowledge management is a system
of identifying, capturing, organizing, and sharing knowledge internally in
the team. Knowledge management (KM) is widely used in the firm to
leverage all information to make use and achieve goals.

The knowledge management application is built specifically for the lawyers,


attorneys and other legal officials of the company so that all the legal
documents and information is stored at one place for the ready use of the
employees. The data can also be shared and transferred among employees.

The aims of knowledge management is as follows-


1) To share documents, contracts, perspectives, ideas, confidential
information and other essential keepsakes of the firm among officials.
2) To ensure that all these documents are available at the right time in the
right place whenever requirement comes up.
3) For transferring knowledge and resources among legal officials
4) For protecting and safeguarding essential information and resources.
8
Chapter 2

2. INTERNSHIP TRAINING

2.1 INTRODUCTION

JP Morgan Chase & Co. emphasizes on constant skill development and


learning opportunities that can help smoothen the onboarding process of the
interns. After the commencement of the internship and before we started
working on our team’s projects, we underwent a 2-week hands-on training
conducted by industrial professionals. The training programme focused on
learning the technologies used by the firm, as well as implementing that
knowledge by creating a real-time fully working application.

The interns were divided into cohorts and teams that consisted of 5-6 fellow
interns who all worked together as a team to build the full-stack application
using JP Morgan’s technologies. Through this effort, the training
emphasized on the importance of teamwork, which offers chances for
personal development and learning. Team members can increase their
knowledge and abilities by learning from each other's experiences,
viewpoints, and areas of expertise.

The end purpose of the training was to also sell the application to the product
owner using the key features and USPs of the application. The process of
building the application was segmented into 40 minor software development
tasks which all add up to build the application. In the end the mentors,
product owners and judges gave appropriate marking to all the teams based
on the level of application that is built, number of tasks done and final
presentation. Further on, teams qualified for the semi-finals and the finals
round and then the winners were announced.

9
2.2 SCHEDULE

The schedule followed in the 2-week internship training was as follows –

The first week of the training emphasized on learning the technologies that
are used by the firm. Some tasks were assigned along with the learning
technologies and were to be completed on the same day.

1) Day 1 – Introduction of interns, division of teams, introduction to the


training programme, brief about the technologies that are to be taught.
2) Day 2-3 – Basics of front-end technology ReactJS, redux, classes,
functions, hooks, introduction to intellij and github.
3) Day 4 – Introduction to in-house JP Morgan technologies like Bitbucket,
Jira, Agile Methodologies etc.
4) Day 5-6 – Basics of Java, Spring, Springboot, Maven, API generation,
back-end and infrastructure formation etc.
5) Day 7 – Basics of JUnit testing, jest tests, web tests, CI/CD, cloud
technologies, Jenkins for deployment, integration of the application etc.

The second week of the training programme emphasized on building the


full-fledged real-time ‘Rewards Application’ along with the team and the
final day emphasized on the presenting the final application to the product-
owners and the judges. The semi-finals and finals were also held that day.

Workflow of the second week was as follows –


- The day started with daily standup meeting to discuss the tasks to
accomplish and blockers faced by the team.
- Each day a different agility lead was assigned, who managed the team.
- Jira stories were created for each task that the team chose to take up from
the list of the tasks that were available to build the application.
- Then the team spent divided those tasks among the members and each
of them worked on building that part of the application.
- Then each task was presented to the Product Owner (the mentor) and
only after attaining the approval the task was said to be ‘done’.

10
2.3 ABOUT THE PROJECT

2.3.1 PROJECT INTRODUCTION

The aim of the internship training was to prepare a full-fledged


working product application that is usable and efficient. The
project was to build a ‘Rewards Application’. A rewards
application with gift cards is a web-based application that allows
users to earn rewards points or credits and redeem them for gift
cards from various retailers or service providers. The users can
redeem gift cards and coupons or travel cards or other reward
options that available to them and are within their reward point
range. The users get personalized gift options suiting to their
previous buys and they also have the option to favorite and
wishlist the items they would like to purchase later. The
application seeks to encourage and reward users for undertaking
activities and enables many gift options for users to purchase for
themselves and others.

2.3.2 PROJECT WORKFLOW

The workflow of the Rewards Application is as follows –

1) Persona Creation - Users enter their name, email address, and


occasionally demographic information to create an account
within the rewards application.

2) Earning Rewards - By participating in particular activities or


tasks specified by the programme, users can earn reward
points or credits. These can be buying things, finishing
surveys, viewing videos, referring friends etc.

3) Accumulation of Points - According to established guidelines


and conversion rates, users accrue rewards points or credits
when they participate in various activities. The software
keeps track of this information and adjusts user's point
balance appropriately.
11
4) Selecting the Reward Item - The rewards programme offers
a selection of gift cards from well-known shops, travel
agents, eateries, internet stores, and service providers. Users
can browse the selections and choose the gift card they want
to use to make a purchase.

5) Purchasing Rewards - When customers have a sufficient


number of points or credits, they can exchange them for a
particular gift card. Users often confirm their selection
throughout the redemption process provided by the
programme, after which the gift card code or voucher is
issued.

6) Delivering the Gift Card - The rewards programme may


digitally distribute the gift card to the customer through
email, app notification, or by showing the code right in the
programme.

7) Tracking Transactions - The rewards application enables


users to keep track of their remaining reward points, check
their history of redemptions, and change account settings,
such as changing their personal information or choosing to
participate in or opt out of particular reward activities.

2.3.3 PROJECT KEY FEATURES

Depending on the design of the application, the intended


audience, and the participating stores or brands, the specific
features and mechanics of a rewards programme with gift cards
may change. The key features of our rewards application are-

1) Personalized Reward Catalog - The rewards applications


may makes recommendations for prizes based on user
preferences and behaviours by using algorithms and user data
analysis. This boosts the relevancy of the rewards being
presented and helps customize the rewards experience to
each user's interests.

12
2) Notifications and Alerts - Users receive messages and
updates from the application when new reward opportunities,
exclusive promotions, or changes to their reward status
occur. This motivates customers to keep taking part in the
rewards programme by keeping them informed and involved.

3) Customer Help - To help users with any questions, problems,


or concerns relating to their awards, the redemption
procedure, or regular programme usage, the rewards
application provides customer care channels. An FAQ page,
live chat, or email assistance are examples of this.

4) Sorting Rewards - The user experience is improved and users'


ability to locate and choose the prizes they want is made
easier by sorting rewards in a rewards application. Sorting
alphabetically, categorically or depending on costing can be
done in increasing and decreasing order.

5) Wishlisting - Users can make a personalized list of rewards


they are interested in or want to receive in the future by
adding them to their wishlist in a rewards application. It gives
customers a practical way to keep track of desired prizes and
aids in helping them prioritize their redemption objectives.

6) Favorites Section – Users can favorite the gift cards and


rewards that they might wish to purchase and can compare
them in the favorite section and decide which reward they
would like to redeem.

7) Tracking historic transactions - The activities and


interactions users have with the rewards application must be
noted and tracked in order to track transactions. Keeping
track of user transactions, such as purchases, redemptions,
and point accrual, is a part of this.

These are the key features that make our rewards application
stand out uniquely.

13
2.3.4 PROJECT ARCHITECTURE

Fig 3. Architecture of Rewards Application


14
2.4 TECH STACK

The following techstack was taught and used for building the application-
1) Front-End - React is a JavaScript toolkit that provided a component-
based approach to reuse components and build the UI efficiently.
2) Back-End - Java framework ‘Spring’ is utilised to create the application's
backend. It offers a wide range of tools and capabilities that make it
easier to create server-side applications that are reliable and scalable.
3) Testing - For testing the Java application, we use framework called
JUnit. It offers effective means of creating and running unit tests, which
are tests that examine the behavior of components.
4) Deployment – Continuous Integration (CI) and Continuous Delivery
(CD) operations are carried out using Jenkins, an open-source
automation server. It aids in automating several tasks within the
programme, including its development, testing, and deployment.
5) Task Management – Jira is an issue tracking and project management
tool created by Atlassian. It gave us a centralised platform to organise,
monitor, and control our project, tasks, and problems.
6) Team Management - Agile is a method for project management and
software development that is gradual and iterative. It placed a strong
emphasis on adaptability, teamwork, and responsiveness to change,
which helped us deliver the application in an effective & flexible way.

2.5 OUTCOME

The outcome of the 2-week internship training program was that we were
able to learn as well as implement popular JP Morgan technologies that are
used for building real-time applications. We were able to build a real-time
application from scratch ourselves. Not only that, but we were able to
present the application to the stakeholders and the product owners.

The final day of the internship training concluded with a semi-final and final
among all the teams, out of which our team was able to accomplish a place
at the finals and stand as the Top 5 teams out of all the teams in participation.

15
Chapter 3

3. LEARNINGS

3.1 INTRODUCTION

JP Morgan Chase & Co. is a firm that is much bigger and broader than being
just a financial organization and investment bank. JP Morgan Chase & Co.
is a technological company, which prioritizes innovation and its evolution.

The firm emphasizes on constant skill development and learnings that help
individuals to work more efficiently within their teams. From the
commencement of the internship period, including some months prior to it,
JP Morgan Chase & Co. assigned to us various learning courses and virtual
experiences of the internship, which helped us gain an insight into the job
role that we are up for, and helped us enhance our skill-set for the same.

3.1.1 VIRTUAL EXPERIENCE

JP Morgan Chase & Co. offers programmes of virtual experience


that give an insight into the corporate functioning of the firm.
Virtual experiences have become increasingly prevalent in
various industries and fields. The virtual experiences provided
by JP Morgan Chase & Co. are an immersive and interactive
online setting that mimics real-world interactions and software
development experiences.

While working on virtual internships, we frequently need to use


a variety of digital tools, platforms, and technologies. In-house
financial systems, digital collaboration tools, and industry-
specific technologies are all accessible us at JPMorgan Chase.
Our technological and digital abilities are improved by these
virtual experiences, which also gets us ready for our jobs in the
future that will involve using these technology.
16
Thus, through these virtual experiences, we gain a clear sight into
the work tasks which will be entailed in our job description. It
also makes us comfortable with the technologies that we will be
working on during the internship.

Before the commencement of the internship, we were provided


with 4 virtual experiences that we had to complete before
proceeding with the internship. These virtual experience
programmes were based on Forage platform. Forage is an online
platform that offers simulations and virtual work experience
programmes to assist people in developing real-world skills and
understanding of the industry. It provides a variety of interactive,
self-paced programmes that let users work on real-world jobs and
projects while emulating office settings.

The virtual experience programmes that we were assigned were


as follows –

1) Software Engineering –

Fig 4. Software Engineering completion certificate


17
The Software Engineering virtual experience deals with
training in technologies to up skill the software developing
skills of the trainee. The project is based upon stock pricing.
The tasks begin by setting up an interface with stock price
feed. In the following tasks, code is implemented to visually
display stock feed data and charts for trading dashboards.
Python and React along with knowledge of data analysis is
used in the programme.

2) Advanced Software Engineering –

Fig 5. Advanced software engineer completion certificate

The Advanced Software Engineering program deals with


enhancing the software developing skills of the trainee. It is
an advanced training programme that is mostly focused on
the back-end side of the application. The technologies of Java
and Spring is used to create the backend APIs and for
building the infrastructure of the application. It also
familiarizes us with the usage of data structures, designing of
a relational database design and populating the database with
a good quantity of data in different formats.
18
3) Agile –

Fig 6. Agile completion certificate

The Agile virtual experience program focuses on the Agile


methodology which is widely used across the firm.

Agile is a fluid and iterative method to software development


that places a focus on teamwork, adaptation, and continual
improvement. It was created as an alternative to
conventional, sequential project management approaches
like Waterfall in order to better handle the difficulties posed
by quickly changing requirements and complicated projects.

Due to their effectiveness in responding to changing needs,


capacity to foster collaboration, and ability to provide value
to the client, agile techniques have significantly increased in
popularity and adoption across a variety of industries,
particularly in software development. Scrum, Kanban,
Extreme Programming (XP), and Lean are examples of
popular Agile frameworks and approaches.
19
4) Cyber Security –

Fig 7. Cybersecurity completion certificate

This virtual experience program focuses on training for cyber


security. The practice of defending computer systems,
networks, software, and data against online attacks,
unauthorized access, information damage, and theft is known
as cyber security. It entails putting safety precautions in place
to guarantee the availability, confidentiality, and integrity of
digital assets.

JP Morgan practices cyber security very religiously. The


trainees are instructed on how to apply cyber security
techniques and fundamentals in their own applications. Tasks
also entail application building lessons, like that of building
an email spam or ham classifier. Other tasks train us to
analyze datasets of identifying fraud in financial transaction
services.

20
3.1.2 LEARNING CERTIFICATIONS

While the ongoing term of the internship continues, JP Morgan


Chase & Co. provided us with various in-house learning
certifications and trainings that were mandatory to complete
before the end of the internship. These learning certifications and
trainings helped us to gain a better idea about the operations and
technologies within the firm.

The learning certifications needed us to keep up with the most


recent developments and JP Morgan’s best practices. They
support lifelong learning and guarantee that we are familiar with
the most recent methodology, technologies, and trends of the
firm. This aided us in being current and adaptive in our
workplace that is changing quickly.

Some of the learning certifications that we completed were-


1) Privacy and Data Protection - Measures and procedures that
secure people's personal as well as firm’s information and
guarantee its confidentiality, integrity, and availability are
referred to as privacy and data protection. Sensitive data must
be shielded from unauthorized use, disclosure and alteration.

2) Cyber Security - Cyber security is the process of preventing


unauthorized access, damage, theft, and interruption to
computer systems. It entails numerous safeguards,
technologies, and best practices to guarantee the availability,
confidentiality, and integrity of data and systems.

3) Anti-Corruption - In order to prevent, identify, and battle


corruption in the firm, several strategies and tactics are used.

4) Conduct and Compliance - The act of adhering to laws, rules,


industry standards, as well as internal policies and processes
that are important to the firm’s operations is referred to as
compliance, which is essential for every employee to learn.
21
3.1.3 AMAZON WEB SERVICES PRACTITIONER

Amazon offers a complete cloud computing platform called


AWS (Amazon Web Services). It provides a vast array of cloud
services and solutions that let people and companies create,
launch, and manage different applications and services in a
flexible and scalable way. JP Morgan Chase & Co.’s recent
biggest venture has been investing in AWS as its in-house cloud
application deplorer. It is the recent big evolution that is taking
place in the firm to make the applications more scalable and
efficient. Most teams have started integrating their applications
to AWS already.

AWS offers an entry-level certification called the AWS


Practitioner Certification, which is also known as the AWS
Certified Cloud Practitioner. It verifies a person's fundamental
knowledge and comprehension of AWS Cloud services as well
as their proficiency with regard to the efficient development and
deployment of apps and services using AWS. The AWS Certified
Cloud Practitioner certification is a good place to start to become
efficient in AWS and cloud computing. It creates credibility and
attests to one's proficiency in utilizing and navigating AWS
Cloud services.

Owing to the upcoming evolution of integrating to AWS, all the


employees of the firm have started taking steps to become
officially AWS certified by the practitioner and other advanced
certifications that are provided by AWS.

Thus, the next step in my learning journey is to attain the AWS


cloud practitioner certification, so that I can keep up with the
evolving cloud deployment technology of the firm.

22
3.1.4 OUTCOME

We as well the firm, maximize the value we gain from the


internship programme by offering us with learnings and trainings
before and during the internship is ongoing. Following were the
outcomes of the learnings:

1) Skill Development – Being a fresher in the corporate world,


investing in learning and development improved our abilities
and increased our productivity while we are interning. It
helped guarantee that we have a fundamental understanding
of the sector, tools, technology, and procedures.

2) Productivity – We boosted our production and efficiency


from the very first day of our internship by gaining essential
training and skills before we started. The learning curve
ensured that we are able to contribute meaningfully within
our internship period.

3) Professional Development – JP Morgan gave us a well-


rounded professional development experience by giving
training programmes before and during internship. This
provided access to resources, mentorship, and learning
opportunities in addition to on-the-job training that assisted
us in acquiring crucial skills and competences jobs.

4) Confidence and Preparedness - Before starting our


internship, since we had the appropriate training and learning
experiences, we felt more comfortable with our roles and
responsibilities. We felt prepared going into the internship,
which raised levels of engagement and motivation. This self-
assurance enable us to approach obstacles with a positive
outlook and efficiently contribute to the company's projects.

Overall, the internship learning positioned us for success,


developed our skill sets, increased our productivity, and
advanced our professional development as a whole.
23
Chapter 4

4. TECHNOLOGY SPECIFICATIONS

4.1 INTRODUCTION

The job role of my employment in JP Morgan Chase & Co. is as a Full-Stack


Developer. Therefore, the job entails complete development of the software
application, from the front-end development to the back-end, including
database management, testing, continuous integration and delivery,
deployment, as well as product release. The process begins by the
development of the user-interface and/or the backend APIs and databases
depending on the use-case, followed by testing and framing test-cases, then
integrating it to the main piece of code, and finally pushing it to build and
deployment. In this section, we will have a comprehensive and detailed view
at the technological specifications that I work on.

4.2 REACT

4.2.1 REACT FOR UI DEVELOPMENT

React is one of the most popular, easy-to-use and efficient front-


end framework that is used in the most high-end products in the
industry. React is an open-source JavaScript library for building
user interfaces. React was initially launched by Facebook (now
Meta), but now it has become a free and a widely available open-
source user interface developing library of JavaScript.

React is developers’ favorite for manifold reasons. For the


developers it enables various functionalities, like giving the
freedom to the developer to build reusable UI components and
also being able to manage their state, thereby making it easier to
create complex user-interface designs that easy to maintain and
handle efficiently.
24
Fig 8. React official logo

4.2.1 KEY FEATURES OF REACTJS

ReactJS offers a wide variety of features that bring multiple


benefits to modern web applications. Some key features are –
1) Reusable Components – ReactJS makes the job of the
developers easier by enabling reusable components of UI that
can be reused in any part of the application. This saves time
and effort and also makes the code easy to maintain and
update.

2) Virtual DOM – React utilizes a virtual Documents Object


Model (DOM), rather than the actual, thereby making it
lightweight and increasing the performance and speed. Thus,
updating the UI becomes easier.

3) Declarative Programming – React gives the freedom to the


developers to declare the desired outcome rather than
manipulating the DOM for the desired outcome.

4) Cross-Platform Compatibility – React applications are very


versatile and compatible to different platforms. React Native
can be used to develop android/iOS suited applications.

5) JSX/TSX – React uses syntax extensions that allow


developers to write HTML like syntax within JavaScript,
thus making the code easy to read and maintain.
25
4.3 SPRINGBOOT

4.3.1 SPRING FRAMEWORK

Spring framework is an open-source Java-based framework for


building software applications. It provides infrastructural support
to developers for building Java applications. Spring enables
developers to build applications from ‘plain old Java objects’
(POJO). It was built in 2002 and since then it has been widely
used for building scalable and robust applications.

Spring Boot is a part of the spring framework and was built with
the intention to make it easier to build, test and deploy spring
applications. Spring boot is a spring module that enables RAD
(Rapid Application Development) feature to the framework.

Fig 9. Spring official logo

Spring Boot is an amalgamation of spring framework and


embedded http servers, that allows developers to package and
deploy applications as stand-alone executable JAR files. XML
servers are exempted from spring boot though. Spring Boot has
a strong auto-configuration feature that can automatically
configure Spring applications based on the dependencies. Spring
Boot is widely used to build many web applications,
microservices and Rest APIs.
26
Fig 10. Springboot

4.3.2 KEY FEATURES OF SPRING FRAMEWORK

Spring Framework is widely used in the industry and is used to


build a wide range of applications. The key features of Spring
framework are-

1) Dependency Injection (DI) – It allows the developers to


decouple components from each other, thus making it easier
to test and maintain code

2) Aspect-Oriented Programming (AOP) – It allows the


developers to modularize concerns like logging, security and
transactions management.

3) Model-View-Controller – Spring MVC provides a robust


framework for building web applications.

4) Spring Data – It provides a common interface for working


with data access technologies such as JDBC, JPA, and
NoSQL databases.
27
4.4 JENKINS

4.4.1 JENKINS FOR DEPLOYMENT

Jenkins is a free and open-source automation server that is used


to test, build and deploy software. It is written completely in Java
language and is one of the most popular automation server in the
world. It is also actively used for continuous integration –
continuous delivery (CI/CD) functionality workflows, called
pipelines.

It is easy to install and configure, and has a wide spread


community of developers who keep on constantly adding plugins
and extensions to enhance the functionality of Jenkins. It features
somewhere around 2,000 plugins to support the automation of
various jobs. These plugins solve automation of user interface,
platforms, administration, source code and build management.

Fig 11. Jenkins official logo

4.4.2 KEY FEATURES OF JENKINS

Jenkins can help organizations to accelerate the development of


software by automation. It runs a complete lifecycle integrated
process from test, build, package, deploy, analysis etc. The key
features of Jenkins are-

28
1) Continuous Integration- Jenkins can be automatically
configured to build and test software whenever changes are
pushed in a repo, thus making bug detecting easy.

2) Extensible – Jenkins has a large number of extensions and


plugins available suited for different automations, and it is
also widely extensible and can support many plugins that can
be integrated with other tools.

3) Easily Configurable – Jenkins is a user-friendly interface that


is efficient in configuring and handling jobs. It allows
developers to easily formulate, manage and handle build jobs
and analyze each build.

4) Distributed Builds – Jenkins is widely used to perform


distributed builds, which enables numerous machines to
work in sync and build applications.

4.5 CLOUD

4.5.1 CLOUD COMPUTING

In technological terms, ‘cloud’ refers to the internet and the


services and resources that are provided to the users over the
internet. Computing of cloud refers to the continuous delivery of
these computing services, like storage, databases, services,
networking, software applications, analytics and more over the
‘cloud’ or the internet. Cloud computing offers flexible and faster
resources, anywhere, free of cost.

In recent times, cloud technology has become very popular and


widespread in industrial uses, since it provides organizations and
individuals to access computing resources and services on-
demand, free of cost, anywhere and anytime. Therefore, the
companies don’t have to invest a lot in physical resources and
maintaining an expensive infrastructure.

29
Cloud computing enables ready-to-use services and resources
that the users can avail based on their requirements, at a pay-per-
use basis. Cloud can be made available in multiple forms, based
on the accessibility and availability provided to the users.

Cloud is provided on private, public, hybrid and community


basis. They are as follows –

1) Public Cloud – Public cloud is form of cloud that is


accessible and available to all people. It can be used to access
resources and services to store, analyze and compute data on
a pay-per-use basis. Many public cloud providers are
available in the market, which provide services as per plans
and usages. Examples of public cloud providers include –
Google Cloud Platform, Amazon Web Services, Azure etc.

2) Private Cloud – Private Cloud is basically an internal cloud


which is used within an organization to manage and handle
data and data centers internally. This type of cloud is the most
secure and conscious about the privacy of firm and clients.

3) Hybrid Cloud – Hybrid Cloud is the amalgamation of private


and public cloud. It has a mix of services that range from
being based on public and private cloud, and the accessibility
of the services vary accordingly.

4) Community Cloud – Community Cloud enables cloud


services and resources that are available and accessible by a
community of some selected organizations to share data and
resources among the companies. This is basically
collaborative cloud shared by certain companies with shared
interests and business.

30
Fig 12. Types of cloud

4.5.2 TYPES OF CLOUD COMPUTING

Cloud computing have different models it is based on. These


models differ in the services the cloud provides and the
accessibility it gives. The models of cloud computing are –

Fig 13. Cloud service models

31
1) Infrastructure as a Service (IaaS) – In IaaS cloud service
provider provides customers with virtualized computing
resources, such as – virtual machines, storage, and
networking infrastructure, that they can use to create and
implement their own applications. The maximum level of
control over their infrastructure is given to the customer via
IaaS, which also allows them to scale as necessary.

2) Platform as a Service (PaaS) - Customers may build and


deploy apps on a platform like PaaS without having to worry
about managing the underlying infrastructure. A set of tools,
programming languages, and pre-built components are
provided by the cloud service provider, enabling quick and
simple application development and deployment. Developers
that wish to concentrate on creating and deploying
applications rather than controlling infrastructure should use
PaaS.

3) Software as a Service (SaaS) - In SaaS, the cloud service


provider provides a full software programme that the client
can access online. The consumer simply needs to utilise the
programme through a web browser or other client software
because the provider controls the underlying infrastructure,
including servers, storage, and networking. SaaS is perfect
for companies or people that wish to utilise a software
programme without having to worry about installation,
upkeep, or upgrades.

4.5.3 KEY FEATURES OF CLOUD COMPUTING

The way that businesses and people use and manage computing
resources has been revolutionized by cloud computing. With the
flexibility, scalability, affordability, and accessibility it offers,
businesses can concentrate on their core operations without
having to worry about maintaining complicated IT systems. Its
key features are -

32
1. On-demand services – With the use of cloud computing,
clients can provision computer resources—such as servers
and storage—on-demand without the help of the cloud
service provider's staff.

2. Remote resource accessibility - Customers have access to


cloud computing services via the internet, giving them the
flexibility to use their resources from any location.

3. Flexible - Customers may swiftly scale up or down cloud


computing capabilities to meet changing demand, giving
them the flexibility to modify their resources.

4. Measured Service - Customers have the option to track and


evaluate how they use cloud resources, which increases
transparency and enables them to optimize both resource use
and prices.

5. Security - To safeguard customer data and resources, cloud


providers employ strong security features like encryption,
access control, and network security.

4.6 MONGODB

4.6.1 MONGODB AS A DATABASE

MongoDB is the best option for storing data that is difficult to


represent in a tabular manner since it saves data in documents
that resemble JSON and can have various forms.

Popular open-source NoSQL document-oriented database


MongoDB offers an adaptable and scalable option for data
management and storing. MongoDB is the best database for
managing unstructured or semi-structured data since it stores
data in flexible and dynamic documents in the BSON (Binary
JSON) format, as opposed to standard relational databases,
which store data in tables with a set schema.
33
Fig 14. MongoDB official logo

Many businesses and developers utilise MongoDB for a variety


of purposes, including online applications, content management
systems, real-time analytics, and other things. MongoDB's
success is a result of its adaptability, scalability, and simplicity
of usage, which make it a good choice for dealing with a range
of workloads and data kinds.

4.6.2 KEY FEATURES OF MONGODB

The key features of MongoDB are-


1) Versatile Schema - Due to MongoDB documents' lack of a
preset schema, there is more flexibility and room for more
organic data modelling.

2) Querying - MongoDB has a rich query language that includes


full-text search, secondary indexes, and dynamic searches.

3) Availability - Through replica sets, which proactively keep


multiple copies of the same data across various servers,
MongoDB offers high availability.

4) Scalability - Sharding, a feature of MongoDB, allows for


horizontal scaling across numerous servers. This spreads data
across numerous cluster nodes, enabling it to handle massive
data volumes and high traffic loads.

5) Aggregation Framework - The Aggregation Framework for


MongoDB offers strong tools for data transformation and
analysis. Filtering, grouping, sorting, and integrating data
from different documents are all supported.
34
4.7 ADOBE ANALYTICS

4.7.1 ANALYSIS BY ADOBE ANALYTICS

Adobe Analytics is a cloud-based data analytics platform. It


enables businesses to examine client interactions across a range
of touch points and media. Organizations can easily and rapidly
understand consumer behavior and improve marketing
campaigns, website performance, and the entire customer
experience thanks to Adobe Analytics' real-time data analysis
and reporting capabilities.

Numerous businesses in a range of sectors, including retail,


banking, healthcare, and more, use Adobe Analytics. With real-
time data analysis, predictive analytics, and multi-channel
analysis available, the platform is a potent tool for
comprehending customer behavior and improving the overall
customer experience.

4.7.2 KEY FEATURES OF ADOBE ANALYTICS

1) Detailed Analysis - A thorough picture of customer


interactions across all touch points, including online, mobile,
social media, and more, is provided by Adobe Analytics.

2) Real-Time Analysis - Real-time data analysis made possible


by Adobe Analytics enables businesses to act swiftly and
wisely based on the most recent information.

3) Predictive analysis - Predictive analytics tools from Adobe


Analytics enable businesses to anticipate future consumer
behavior and make informed decisions.

4) Personalization - With the help of Adobe Analytics'


configurable dashboards, businesses can create unique
perspectives of their data and easily access important metrics
35
5) Classification - Organizations can discover client categories
based on particular traits or behaviors thanks to Adobe
Analytics' enhanced segmentation of consumer data.

6) Application Analysis - Organisations may comprehend user


journeys and navigational patterns on their digital sites by
using path analysis in Adobe Analytics. It assists in
determining the most typical user pathways.

Fig 15. Adobe analytics official logo

4.8 INTELLIJ

4.8.1 INTELLIJ IDEA

The JetBrains-developed IntelliJ IDEA is an integrated


development environment (IDE) for Java. Developers can create
Java applications using a full suite of tools and capabilities from
IntelliJ IDEA, including support for a number of frameworks,
libraries, and technologies.

For a variety of Java development projects, including web apps,


mobile applications, and enterprise applications, developers
frequently use IntelliJ IDEA. The platform is an effective
solution for creating and managing Java applications thanks to
its extensive collection of features and tools.

36
Fig 16. Intellij official logo

4.8.2 KEY FEATURES OF INTELLIJ IDEA

1) Code Editor - Code completion, code analysis, refactoring,


and code generation are just a few of the functions offered by
the intelligent code editor offered by IntelliJ IDEA.

2) Debugger - A robust debugger with several capabilities, such


as breakpoints, watches, and expression evaluation, is offered
by IntelliJ IDEA.

3) Built-in tools - The built-in build tools offered by IntelliJ


IDEA, such as Maven and Gradle, make it simple for
developers to create and manage their projects.

4) Version Control - Git, SVN, and Mercurial are just a few of


the version control systems that are integrated with IntelliJ
IDEA, making it simple for developers to maintain their code
and work with others.

5) Integration - Developers can simply test and deploy their


apps thanks to IntelliJ IDEA's seamless integration with other
development tools like JUnit, TestNG, and Docker.

37
4.9 JIRA

4.9.1 JIRA

Jira, is a well-known project management platform created by


Atlassian. Software development teams utilize it, to schedule,
monitor, and oversee their work. Jira offers a comprehensive
range of tools and capabilities for agile project management with
the goal of enhancing team productivity.

Many software development teams utilize Jira for a range of


tasks, including software development, project management, and
service desk administration. The platform is an effective tool for
managing projects and enhancing team cooperation and
productivity because of its extensive collection of tools and
features, flexibility, and customizability.

Fig 17. Jira official logo

4.9.2 KEY FEATURES OF JIRA

1) Task Management - Jira offers robust issue tracking features


that make it simple for teams to create, track, and manage
issues and bugs.

2) Agile - Jira supports a number of agile project management


techniques, including Scrum and Kanban, enabling teams to
work more productively and produce high-quality products.

38
3) Personalization - Jira offers adaptable workflows that let
teams create their own procedures and systems for handling
their work.

4) Collaboration - Jira offers team members the ability to


interact and work together on issues and projects through
features like comments, mentions, and notifications.

5) Analysis - Jira offers reporting and analytics services that


enable teams to monitor their performance and progress and
come to data-driven conclusions.

4.10 GIT

4.10.1 GITHUB

For version control and team communication, developers


frequently use the well-known web-based platform GitHub. It
enables programmers to organise projects, collaborate with other
team members, and host and review code.

As a hub for developers to collaborate, exchange code, and


contribute to open-source projects, GitHub has grown in
popularity as a platform for version control, code collaboration,
and project management. Many software development teams and
people like it because of its user-friendly interface, potent
capabilities, and strong ecosystem.

4.10.2 KEY FEATURES OF GITHUB

1) Code Review - Team members can examine code changes,


suggest enhancements, and offer feedback using GitHub's
robust code review mechanism.

2) Collaboration - Pull requests, bugs, and wikis are a few of the


collaboration tools offered by GitHub that team members can
use to communicate and work together on projects.
39
3) Version Control - With the help of GitHub's robust version
control features, developers can simply manage and keep
track of changes to their code and work concurrently on code.

4) Project Management - Software projects can be organized


and monitored using GitHub's project management tools.
GitHub can be used to keep track of tasks and assignees.

Fig 18. Github official logo

4.11 CONFLUENCE

4.11.1 CONFLUENCE

Confluence is a platform for information management and


collaboration created by Atlassian. It is intended to support teams
in centrally managing, accessing, and sharing information and
documentation. Confluence provides a variety of features to
encourage teamwork and information exchange.

Teams of many sizes and from a variety of sectors use


Confluence extensively to manage content, share expertise, and
promote collaboration. It is a well-liked option for organizations
wishing to centralize their knowledge and enhance team
communication due to its adaptability, simplicity of use, and
comprehensive feature set.

40
Fig 19. Confluence official logo

4.11.2 KEY FEATURES OF CONFLUENCE

The key features of confluence are –

1) Editor - Users may simply generate and format content with


Confluence's sophisticated text editor. Text, photos, tables,
and other media components can be used by users to
construct pages, write articles, document processes, and
exchange knowledge.

2) Management - Users of Confluence can arrange content in a


hierarchical fashion. Spaces are containers for connected
pages and material that users can create.

3) Collaboration - Teams can collaborate in real-time using


Confluence. The ability for multiple team members to edit
the same page at once facilitates document collaboration,
idea generation, and feedback gathering.

4) Search Features - Confluence has an effective search feature


that enables users to locate content across the platform with
ease.

41
4.12 JUNIT

4.12.1 JUNIT FOR TESTING

A popular open-source testing framework for Java applications


is called JUnit. It offers a platform, a collection of annotations,
and a set of assertions for creating and running unit tests, which
check the accuracy of distinct pieces of code, like methods or
classes, separately. JUnit aids programmers in automating
testing, finding errors, and ensuring the dependability and calibre
of their code.

JUnit has become a standard framework for unit testing in the


Java ecosystem and is widely adopted by developers to ensure
the quality and reliability of their code through automated testing
practices.

Fig 20. JUnit official logo

4.12.2 KEY FEATURES OF JUNIT

1) Testing - The test cases in JUnit, which are classes with test
methods, are how the tests are arranged. Each test method is
designed to test a particular piece of code or behaviour.

2) Assertions - In order to verify that the code under test behaves


as intended, JUnit offers a set of built-in assertions.

3) Test Suites - JUnit enables the creation of test suites, which


offer an easy approach to run several test classes together.
42
Chapter 5

5. PROJECT SPECIFICATIONS

5.1 PROJECT DESCRIPTION

5.1.1 PROJECT DEFINITION

The team to which my employment is aligned to is based in the


legal solutions department. The team works to build a
‘Knowledge Management’ application. The team has software
developers that work to build the application to the reality and
product owners that define the basic functionalities of the project.

A software tool or platform that supports the gathering, creation,


storage, sharing, and use of knowledge and information inside an
organization is known as a ‘knowledge management’
application. A knowledge management application aims to make
it possible for individuals and teams to access the appropriate
information at the appropriate time, improve decision-making,
increase productivity, and foster creativity.

Overall, knowledge management aims to make the most of a


company's knowledge assets to add value, boost productivity,
and gain a competitive edge. JP Morgan Chase & Co. invested in
a knowledge management application idea and took a strategic
approach in order to meet these objectives. The approach to make
effective use of a knowledge management is by putting the right
tools and technology in place to make a user-friendly application
and encourage a culture of information sharing.

43
5.1.2 PROJECT BACKGROUND

The legal sector heavily relies on knowledge management.


Effective knowledge management applications are becoming
more and more important as lawyers, law firms, and legal
departments look to increase their effectiveness, productivity,
and level of service.

A knowledge management application in the legal sector entails


gathering, organizing, storing, and disseminating legal data, such
as case law, legal precedents, rules, and policies. In the legal
sector, managing internal knowledge resources such as customer
information, billing and accounting data, and legal norms and
protocols is also a part of knowledge management.

5.1.3 PROJECT GOALS

Some of the goals and benefits of the knowledge management


application for JP Morgan Chase & Co. are-

1) Enhanced productivity - Effective knowledge management


application shortens the time and effort needed to perform
activities by assisting lawyers and legal staff in finding the
information they seek more quickly and conveniently.

2) Increased collaboration - Legal teams can collaborate and


share knowledge more easily with the help of the knowledge
management application, which will help them work more
productively on cases and other tasks.

3) Precise Decisions - A lawyer's ability to access correct and


current legal information can help them make more informed
decisions and give their clients better counsel.

4) Analytics and Reporting - To aid with decision-making,


knowledge management offer data insights and analytics.

44
5) Knowledge Transfer – It is the process of sharing knowledge
and expertise from one individual or group to another. For
organizations to remain competitive and adapt to changing
circumstances, effective information transfer is essential.

6) Subscribing and Bookmarking – The knowledge


management portal offers various innovative features like
bookmarking favorite legal blogs and content, and
subscribing to desired people and keywords, as well as
pinning according to priority.

5.2 PROJECT ARCHITECTURE

5.2.1 THE APPLICATION

The Knowledge Management application is a substantially large


and complex application that binds various features and
functionalities together in one application. The knowledge
management application developed by the legal solution team is
tailored to the needs of JP Morgan Chase & Co., especially to
solve its legal needs of storing, organizing and safe-keeping all
the legal documents, contracts, legal proceedings and other
essential information that might come handy to the lawyers and
paralegals of the company.

The application also ensures on being a social platform to enable


collaboration and team-work functionalities that the lawyers can
use to transfer and exchange information among each other.
These includes features of submitting legal information that any
legal official holds, along with functionalities of sharing, liking
and commenting on such legal information. The users can search
any information, content, keywords and any other user that they
desire to reach out to. Personalization features like bookmarking
and subscribing to any content and keyword is also possible. A
search engine is also in place where users can search and access
information of any keyword that they might be seeking.
45
The portal ensures to be a secure and safe portal, through login
pages, accessibility controls and constant authentications. This is
to ensure that only authorized individuals have access to
appropriate knowledge assets. There are also components of
analysis and reporting, that record various fields like user
activities, knowledge usage and other metrics. It helps the firm
to understand how and where the knowledge is getting utilized,
and by whom, what are the impacts of the application and how
to enhance it.

5.2.2 TECHNOLOGY IN USE

The Knowledge Management application operates on multiple


layers that formulate the application and bring it into usefulness.
The segments of the application and the technology each
segment uses are –

1) User Interface- The area of a knowledge management


application that users interact with directly is called the user
interface (UI). It offers a graphical user interface so that users
may access and engage with the knowledge management
system's features and functionalities. The UI has all the
features like search engine, legal feed, menus and navigation,
notification and content management tools. It also entails
services of user authentication and access control.

The user interface is built on ReactJS. It offers many features,


like reusable components and declarative programming that
puts a strong emphasis on usability, intuitiveness, and a user-
friendly experience in order to make sure that users can easily
interact with the system, locate the information they require,
and communicate effectively.

46
The UI also provides reporting and analytics features to the
product owners, to get useful insights of how the application
is getting used based on metrics like user activities and
knowledge usage. Adobe Analytics, a robust analytics
platform powered by Adobe is used to report real-time
analytics of the application usage. It provides a wide range of
features for data collection, reporting and visualization.
Adobe Analytics provides reporting dashboards that can be
customized according to preferences. It also offers advanced
tools such as for predictive analysis.

2) Back-End - The architecture and server-side components that


support the functionality and data administration of a
knowledge management application is the backend. It
consists of a number of parts that cooperate to manage data
processing, storage, and connection with the user interface
and other systems.

The knowledge management application's backend has the


logic and algorithms that manage numerous operations and
procedures. It also covers integration with other systems and
features including access control, user identification, search
algorithms, and content production and editing.

The back-end is built using Spring. Popular Java framework


Spring Boot makes it easier to create the stand-alone,
enterprise-level app. In order to make setting up and
configuring the backend infrastructure simpler, it offers a
convention-over-configuration approach.

3) Database Management – The database management system


is part of the backend and is used to store and manage the
data for the application. A systematic and effective method
of creating, querying, updating, and deleting data is made
possible by the DBMS.

48
Knowledge assets, such as documents, files, metadata, and
related data, are stored and organized by the backend. It
guarantees accurate knowledge indexing, categorization, and
retrieval within the application.

MongoDB is used for the backend database. We benefit from


MongoDB's adaptable, document-oriented structure and
robust query capabilities by utilizing it as the database for a
knowledge management application.

Fig 21. Architecture of Knowledge Management


Application

49
CONCLUSION & FUTURE WORK

The internship has been a very illuminating experience and has offered the
author to take a steady and strong step in the corporate world. The project of
‘Legal Knowledge Management’ is a very significant application for JP Morgan
Chase & Co. Being a financial firm that impactful, with a massive legal
department, the knowledge management application proves to be extremely
advantageous for managing, storing and safe-guarding various legal documents.
The application also acts as a social application for sharing legal information
and other knowledge assets with a wider audience efficiently.

The scope of the application’s impacts extends all the employees of the
company. The firm and the stakeholders are on-board with the current
disposition of the application, and it is to be rolled out soon. Further
functionalities are in-place to be developed soon. Application modernization is
an important emphasis of the team, and it will be made possible by integration
of cloud service - AWS to the application. This will enhance the scalability and
efficiency of the application. Evolving technologies like machine learning,
artificial intelligence and Chatgpt are set to be integrated with the application.

The internship duration entailed a marvelous learning curve that covered various
innovative JP Morgan’s technologies for full-stack development. Besides this,
numerous team and project management technologies were also given ample
emphasis during the training. The Agile methodology of team management
particularly stands out for enabling many state-of-the-art techniques for well-
balanced product development with constant team growth. The real-time
application of these technologies has upscaled the author’s technological
knowledge, whilst also uplifting communication and personality skills.

With the conclusion of the internship, the author aims at successfully wrapping
up the internship experience and taking along the lessons learned to imply them
when the job commences. The future ensures constant learning with upcoming
AWS certification and integrating it to the product, along with brainstorming
and developing other innovative ideas to modernize the application. On a
personal level, the author aims at taking more development and leadership
opportunities soon.
50
REFERENCES

1. Staff, F. (2023, February 1). JPMorgan Chase. Fortune.


https://fortune.com/company/jpmorgan-chase/

2. Zaveri, B. (2022, May 30). JP Morgan’s revenue by Segment (2016-2022).


Business Quant. https://businessquant.com/jp-morgan-revenue-by-segment

3. Knowledge management : A review - researchgate. (n.d.).


https://www.researchgate.net/publication/280490126_KNOWLEDGE_MANA
GEMENT_A_REVIEW

4. Prabhakaran, J. (2023, May 9). Ultimate Guide to Law Firm & Legal
Knowledge Management. Document360. https://document360.com/blog/legal-
knowledge-management/

5. Forage. (n.d.). https://www.theforage.com/virtual-


internships/prototype/R5iK7HMxJGBgaSbvk/JP-Morgan-Banking-
Technology-Virtual-Program?ref=TEkH6cTZwkDKsAvJM

6. M. de Sousa and A. Gonçalves, "humanportal – A React.js case study," 2020


15th Iberian Conference on Information Systems and Technologies (CISTI),
Seville, Spain, 2020, pp. 1-6, doi: 10.23919/CISTI49556.2020.9141070.

7. Wali, R., & M, S. K. (2020, April 6). Rapid web application development
using Spring Framework: A case study. SSRN.
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3529327

8. Impact of agile methodology on software development process - researchgate.


(n.d.-a).
https://www.researchgate.net/publication/255707851_Impact_of_Agile_Metho
dology_on_Software_Development_Process

9. Agile processes and methodologies: A conceptual study - researchgate. (n.d.-a).


https://www.researchgate.net/publication/267706023_Agile_Processes_and_M
ethodologies_A_Conceptual_Study

10. Continuous delivery with Jenkins: Jenkins Solutions to implement ... (n.d.-b).
https://www.researchgate.net/publication/308811242_Continuous_Delivery_w
ith_Jenkins_Jenkins_Solutions_to_Implement_Continuous_Delivery

51
11. The quality of junit tests: An empirical study report - researchgate. (n.d.-e).
https://www.researchgate.net/publication/326471588_The_quality_of_junit_te
sts_an_empirical_study_report

12. Author links open overlay panelPrantosh Kumar Paul a 1, a, 1, b, &


AbstractCloud computing is actually a model for enabling convenient. (2012,
September 5). Cloud computing: Possibilities, challenges and opportunities with
special reference to its emerging need in the academic and working area of
information science. Procedia Engineering.
https://www.sciencedirect.com/science/article/pii/S1877705812021807

13. Cloud computing deployment models: A comparative study - researchgate.


(n.d.-b). https://www.researchgate.net/profile/Patel-B-
2/publication/350721171_Cloud_Computing_Deployment_Models_A_Compa
rative_Study/links/606e8a15a6fdcc5f778ca43b/Cloud-Computing-
Deployment-Models-A-Comparative-Study.pdf

14. An introduction to the key components of Adobe Analytics and benefits ... (n.d.-
b). https://www.grazitti.com/blog/an-introduction-to-the-key-components-of-
adobe-analytics-and-benefits-of-using-it-for-your-enterprise/

15. A brief overview of legal knowledge management. Prism Legal. (2017,


November 28). https://prismlegal.com/a-brief-overview-of-legal-knowledge-
management/

52

You might also like