0% found this document useful (0 votes)
26 views

Yogesh - 19001015071 - ENC - 2019-2023 - Final Report

yogesh

Uploaded by

mammypokopants47
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)
26 views

Yogesh - 19001015071 - ENC - 2019-2023 - Final Report

yogesh

Uploaded by

mammypokopants47
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/ 58

A

INDUSTRIAL TRAINING PROJECT REPORT


ON

“Arttha - Unified Fintech Platform”

By
Yogesh 19001015071
Under the supervision
of Mr. Kushal Sharma

( Sr Software Engineer )
PureSoftware

Submitted to the
J.C. Bose University of Science and Technology, YMCA, Faridabad
(erstwhile YMCA University of Science and Technology)

in partial fulfillment of the requirements for the degree of

BACHELOR OF TECHNOLOGY

IN

ELECTRONICS & COMPUTER

(2019 - 2023)
TRAINING CERTIFICATE
CERTIFICATE

This is to certify that the work carried out in this project titled “Arttha - Unified Fintech

Platform” submitted by Yogesh to “J. C. Bose University of Science and Technology,


YMCA, Faridabad” for the award of the degree of Bachelor of Technology in Electronics &
computer is a record of Bonafede work carried out by him under my supervision. In my opinion,
the submitted report has reached the standards of fulfilling the requirements of the regulations to
the degree.

Mr. Kushal Sharma


(Sr. Software Engineer)

PureSoftware Pvt. Ltd.,

Dr. Pradeep Dimri


Chairman,
Department of Electronics Engg
J. C. Bose University of Science and Technology, YMCA, Faridabad
CANDIDATE’S DECLARATION

I hereby certify that the work which is being presented in this report titled “Arttha - Unified
Fintech Platform” in fulfillment of the requirement for the degree of Bachelor’s in Electronics
& Computer and submitted to the J.C. Bose University of Science and Technology, YMCA,
Faridabad, is an authentic record of my own work carried out under the supervision of Mr.
Kushal Sharma( Sr. Software Engineer ).

The work contained in this report has not been submitted to any other University or institute for
the award of any other degree or diploma by me.

Yogesh
19001015071
EXAMINER’S EVALUATION

The following examiners have accessed the project report and conducted the viva-voce ex-
amination:

1 i.) Internal Examiner

Name :

Designation :

Signature :

Date :

ii.) External Examiner

Name :

Designation :

Signature :

Date :
ACKNOWLEDGEMENT

I take this opportunity to express our sincere thanks and deep gratitude to all those people who
extended their wholehearted co-operation and have helped me in completing my tasks
successfully. I would like to express my gratitude to my manager and mentor, Mr Kushal
Sharma for constantly motivating me and sharing their experience in this field.

I would also like to thank Arnav , Aman , Vipul and all the other team members who have been
working with me on the project.

Yogesh
19001015071
TABLE OF CONTENTS

Training Certificate ii
Certificate iii
Candidate’s Declaration iv
Examiner’s Evaluation Certificate v
Acknowledgement vi
Table of Contents vii

1 Company Profile 1
1.1 Introduction of the company 2
1.2 Quality policy 3
1.3 Resources 3
2 Introduction to Project 4
2.1 About the System 5
2.2.1 Definition of system 5
2.2.2 Purpose and objective 5
2.2 Project Profile 5
2.2.1 Project Title 5
2.2.2 Scope of project 6
2.2.3 Existing Features 7
2.2.4 Project Team 8
2.2.5 Hardware/Software environment in company 8
3 Requirement Analysis and Methodology Used 9
3.1 Requirement Analysis 10
3.2 Methodology Used 10
3.2.1 Requirement Phase 11
3.2.2 Design Phase 12
3.2.3 Development Phase 13
3.2.4 Implementation Phase 14
3.2.5 Testing Phase 15
4 System Design 16
4.1 Activity Diagram 17
4.2 Sequence Diagram 18
4.3 Data Flow Diagrams 20
5 Modules Implemented 22
5.1 Modules 23
5.1.1 Digital Assets 23
5.1.2 Registration and Authentication 23
5.1.3 Sample Responses 23
5.1.4 Calculate Approved Offers 24
5.1.5 UDP (User Defined Pages) 24
5.1.6 Eligibility Process 25
6 Technology Stack 26
6.1 Tool Used 27
6.1.1 Visual Studio Code 27
6.1.2 Zeplin 27
6.1.3 DBeaver 27
6.1.4 GIT 27
6.1.5 Redis Server 28
6.1.6 STS 28
6.2 Languages Used 28
6.2.1 Java : Backend Development 28
6.2.2 Frontend Development 29
6.2.3 SQL 30
7 Testing 31
7.1 Unit Testing 32
7.1.1 Unit Testing on Backend 32
7.1.2 Unit Testing on Frontend 32
7.2 Functional and Non - Functional Testing 32
7.3 Test Life Cycle 33
8 SnapShot of GUI 34
9 Future Enhancement 40
10 Conclusion 42
11 References 44
Brief Overview of Student 46
CHAPTER-1
COMPANY
PROFILE
1 COMPANY PROFILE

11.1 INTRODUCTION OF THE COMPANY

PureSoftware is one of the fastest growing software products and services companies that
delivers a differentiated customer experience, accelerates cycle times and helps customers
achieve business outcomes through the adoption of new - age digital technologies and integrating
them with their existing systems.

It stands to deliver digital excellence driven by next - gen solutions and strong partnerships
globally.

PureSoftware is proud to partner with leading global organizations that share our passion for
innovation and building a resilient, technologically - enabled world. It works together with
business leaders to build incredible things powered by the latest technology.

At PureSoftware we help Business Transform with Simplified Next - Gen Technology Solutions
that Address Complex Business Problems. Its domain expertise, strategic thinking, and a certified
talent pool combined with a Customer - Centric Approach and Flexible Processes help it to
deliver their promise of excellence It creates engagement models that drive cost and time
reduction in projects while maintaining the highest software engineering standards.
11.2 QUALITY POLICY

PureSoftware has various policies and procedures. It has company-wide, entity, business,
cross functional and business partner policies and procedures. It has department specific policies
and procedures for change management, capacity management, access control, information
security, project management, risk management. A plan is established for the software
management and is created for all projects. Document preparation to testing is done in the
predefined step manner. It maintains the quality of the project to ensure that the client's needs are
met by following the best practices. It appreciates and emphasizes to the staff that the proper
standards for coding are maintained which enhances the quality delivery to the customer .

11.3 RESOURCES
PureSoftware has direct presence in 35+ cities globally and has more than 900+
resources across 11+ Countries - providing services in various verticals like Banking and
Financial Services, Telecom and Semiconductor, Life Sciences and Health Care , Retail and
Logistics and Casinos and Gaming.

PureSoftware group brands :


1. Automation Anywhere
2. Alvino
3. Microsoft
4. ORACLE
5. Ramco
6. NICE
7. Salesforce
CHAPTER-2

INTRODUCTION TO

PROJECT
2 INTRODUCTION TO PROJECT

2.1 ABOUT THE SYSTEM

2.1.1 Definition of system


PureSoftware aims to differentiate itself by focusing on clients as its Ultimate Selling
Point, with a transparent approach, providing the clients with fair and unbiased advice, ethical
services and highly professional post transaction services. We have a client based model wherein
we begin with understanding the client’s requirement. We then advise the most suitable loan
product in the market at the best rates. We also offer customized lending solutions catering to
client’s specific requirements.

2.1.2 Purpose and Objective


PureSoftware’s Arttha digital banking solution aims to empower banks to create highly
differentiated virtual banking experiences and seamlessly respond to the ever - evolving digital
needs of the customers. The main objective is to continuously delight and digitally engage the
smart consumer of today with the trusted, flexible, and future - proof digital banking solution.
Main focus is to strengthen the digital relationship with the customers by building tightly
integrated digital touch points and drive deeper consumer engagements.

2.2 PROJECT PROFILE

2.2.1 Project Title

The official title of the project is "Arttha - Unified Fintech Platform".


2.2.2 Scope of project

Arttha digital banking solution empowers banks to deliver a hyper - personalized


experience, enhance customer value, and profitably transition to the digital age. Arttha’s
configurable platform seamlessly integrates with the existing legacy systems and allows banks to
seamlessly launch innovative products and services to cater to the changing customer needs. The
Bank - in - a - Box solution prepares banks for increased profitability besides providing their
customers an experience beyond the traditional branch banking. It also adds value in the entire
ecosystem with open API Banking that allows banks to collaborate with the fintech players and
cultivate an interoperable ecosystem of innovation around customer data.

Platform Capabilities : Digital Wallet and Payments


2.2.3 Existing Features
In the present system arttha’s digital wallet platform empowers banks with superior
wallet management capabilities and enables them to launch a digital wallet offering for their end
customers. A faster and secure means of accessing multiple financial services. Easily accessible
over multiple channels viz. mobile apps, web, SMS, USSD, IVR, ATM, self - help kiosk, NFC,
and QR to provide teal omnichannel experience.

Platforms loan lifecycle management system helps businesses digitize the complete loan
lifecycle end to end, from loan origination to loan processing, loan disbursement, repayments,
and closures. Arttha’s loan management platform is an API based offering with on - the - fly
product configuration, personalized loan offers, pre - approved loans, and promotion
configuration.

Platforms merchant management module is a comprehensive and integrated solution that


enables one to manage the merchant lifecycle through the back office controlling aspects of
onboarding such as KYC and approval workflows to the settlement and reconciliations being
done in real time or end - of - day as the business process needs.

The agent banking solution enables banks to deploy agents who can extend services to the
unbanked in remote areas with no access to bank branches and triggers Financial Inclusion. The
solution offers the flexibility and agility necessary for servicing remotely working customers by
enabling last mile banking connectivity.
2.2.4 Project team

As an Intern at Company, I was assigned a project definition to work on. A mentor was
provided to me throughout the internship and helped me regarding any issue regarding the in-
frastructure. Sr. Software Engineer Mr Kushal Sharma was provided for helping regarding the
company infrastructure issue.

2.2.5 Hardware/Software environment in company

The company provided their own machine to work on which we require to raise software
requests to install new software. The software request sometimes takes a long time. The company
has their own app engine to deploy the application.
CHAPTER-3
REQUIREMENT
ANALYSIS
AND
METHODOLOGY
USED
3 REQUIREMENT ANALYSIS AND METHODOLOGY
USED

3.1 REQUIREMENT ANALYSIS

Requirements analysis, also called requirements engineering, is the process of


determining user expectations for a new or modified product. These features, called
requirements, must be quantifiable, relevant and detailed.These requirements are often called
functional specifications. Requirements analysis is an important aspect of project management.

Requirements analysis involves frequent communication with system users to determine specific
feature expectations, resolution of conflict or ambiguity in requirements as demanded by the
various users or groups of users, avoidance of feature creep and documentation of all aspects of
the project development process from start to finish. Energy should be directed towards ensuring
that the final system or product conforms to client needs rather than attempting to mold user
expectations to fit the requirements.

3.2 METHODOLOGY USED

We have used Agile methodology for development of this project. Agile SDLC model is
a combination of iterative and incremental process models with focus on process adaptability and
customer satisfaction by rapid delivery of working software products.

Agile Methods break the product into small incremental builds. These builds are provided in
iterations. Each iteration typically lasts from about one to three weeks. Every iteration involves
cross functional teams working simultaneously on various areas like planning, requirements
analysis, design, coding, unit testing, and acceptance testing.
At the end of the iteration a working product is displayed to the customer and important
stakeholders. The agile software development emphasizes on four core values:

● Individual and team interactions over processes and tools


● Working software over comprehensive documentation
● Customer collaboration over contract negotiation
● Responding to change over following a plan

3.2.1 Requirement Phase:

During the Requirements Analysis Phase, the business (project in-scope) requirements
that were previously documented in an earlier phase are revalidated and further analyzed and
decomposed into high-level system (functional and non-functional) requirements that define the
automated system/application in more detail regarding inputs, processes, outputs, and interfaces.
If appropriate, a logical depiction of the data entities, relationships and attributes of the
system/application is also created. During the Requirements Analysis Phase, the initial strategy
for testing and implementation is also begun. In addition, the work planned for future phases is
redefined, if necessary, based on information acquired during the Requirements Analysis Phase.
The Requirements Analysis Phase ends with a review to determine readiness to proceed to the
Design Phase.

Detailed application requirements (both functional and non-functional) are required to permit
detailed project management planning, execution, and control. If detailed requirements and
subsequent planning identify a breach of the investment-level cost, schedule or performance
baselines established at the end of the planning phase, a formal change to the Investment
Baselines will be requested. The purpose of acquisition planning in the Requirements Analysis
Phase is to allocate the requirements among development segments, research and apply lessons
learned from previous projects, develop a schedule that lists activities for completion and work
products to be produced with appropriate estimated completion dates, identify potential product
and service providers, and award contracts.

The tasks described below are performed during the Requirements Analysis Phase:

● Requirements elicitation is done during sessions with the users.


● Business needs are consolidated and affirmed.
● The functional requirements and the data requirements are then consolidated.
● The functional requirements are connected to the data requirements.
● The Requirements Document (RD) is a record of the above requirements. This can be
established as a matrix and tracked for satisfaction of every module of the system as
development progresses.
● Documentation from prior phases may need to be revised or updated.

3.2.2 Design Phase:


The development in the project is carried out by incorporating the requirements discussed
in the requirement phase using the design plan of the design phase.

The design phase attempts to uncover various entities involved in the system and their associated
behavior and the interfaces that would be provided by the system. Use cases were identified, ER
Diagram and Data Flow Diagrams for the system were developed. Database tables and the
relationship were also identified during this phase.
3.2.3 Development Phase:

The System was developed by following microservices architecture with bottom-up


strategy defined as follows:

● API Gateway: API gateway represents a single-entry point into the system, providing the
request routing, security, protocol translation, and composition of microservices in an
application. API gateway also enables to mark the failure in the backend services of the
application by returning the default data.

● Load Balancer: Load balancing is the process of sharing incoming network traffic in
concurrent or discrete time between servers called a server farm or server pool. This sharing
process can be evenly scaled or can be performed according to certain rules. Rules like Round
Robin, Least Connections etc.
● Eureka Server: Eureka Server is an application that holds the information about all
client-service applications. Every Micro service will register into the Eureka server and Eureka
server knows all the client applications running on each port and IP address. Eureka Server is
also known as Discovery Server.

● Configuration Server: With microservices, we create a central config server where all
configurable parameters of micro-services are written version controlled. The benefit of a central
config server is that if we change a property for a microservice, it can reflect that on the fly
without redeploying the microservice.

● REST APIs: REST API can provide this simple API-based synchronous messaging
solution to embed the connection between microservices in a distributed system with HTTP
request-response. REST uses various representations to represent a resource like text, JSON,
XML, etc.

● Master-Slave Databases: The master-slave is a database architecture divided into a


master database and slave databases. The slave database serves as the backup for the master
database. The master database is the keeper of the data resources and the place where all the
writing requests are performed.

3.2.4 Implementation Phase:

The System was implemented on a web server . The Database was maintained under
Postgres 11.7. User Interacts via a web Browser which sends HTTP requests to the server which
replies after processing the requested page. Thus, the system is implemented as a client server
model. To access the data the system connects to the gateway which redirects it to the service
discovery (eureka server) that responds with requested Data Sets from the relevant
microservices.
3.2.5 Testing Phase:

Individual developers in their respective local environments will do unit testing. After
completion of unit testing and defect fixing, the code will be checked in the configuration
management system. After completion of unit testing, automation testing is done. Motive of
automation testing is to automate the Testing Procedure
CHAPTER-4

SYSTEM DESIGN
4 SYSTEM DESIGN

4.1 ACTIVITY DIAGRAM


Activity diagrams are used to describe the activity flow of the system. It is used to display the
behavior of the system. It is used to describe how the sequences of activities flow in the system. It is
used to display the flow from one activity to another in the system. It is generally used in modeling
the business requirement. As shown below Table 4.1 Symbols for Activity Diagram shows symbol
name with its symbol and Figure 4.1 depicts the activity diagram for Square Capital.

Table 4.1 Symbols for Activity Diagram


Figure 4.1 Activity diagram

4.2 SEQUENCE DIAGRAM

The Sequence diagram shows the interaction of objects in the system. It is used to display the
high-level interactions between the system and the user. It displays the behavior of the sys- tem. It
describes the interaction between the objects in the sequence order. It is also referred to as event
diagrams or event scenarios. It is used to understand the requirement for the new or ex- isting system
so used by software developers or business professionals. It is useful for generat- ing the basics flow
for every use case which helps in understanding the requirements.

As shown below Table 4.2 Symbols for Sequence Diagram shows symbol name with its symbol and
as shown in the Figure 4.2 Sequence diagram for Square Capital.
Table 4.2 Symbols for Sequence Diagram

Figure 4.2 Sequence diagram


4.3 DATA FLOW DIAGRAMS
DFD stands for data flow diagram. The data flow diagram is used to depict the flow of
data that receives the data from the input and gives the data as the output after going through the
process. This process involves some steps which can be as simple as collecting the data, saving
the data to a database or it can be as complex as generating the report of company sales. Gen-
erally, a data flow diagram begins with a context diagram which is considered as level 0 of the
data flow diagram. With the help of a data flow diagram, it becomes easier to visualize the flow
of the system. As shown below Table 4.3 Symbols for Data Flow Diagram shows symbol name
with its symbol used in DFD and as shown in the Figure 4.3 DFD level 0 which is also Context
flow diagram and the Figure 4.4 DFD level 1 display the level of data flow diagram for AIS data
and digital strategy.

Table 4.3 Symbols for Data Flow Diagram


Figure 4.3 DFD level 0

Figure 4.4 DFD level 1

21
CHAPTER-5
MODULES IMPLEMENTED
5 MODULES IMPLEMENTED

5.1 MODULES

5.1.1 DIGITAL ASSETS


The Digital Assets module is the core module of the platform. It forms the basis for other
modules which share components with it. While procuring a collateral loan against a product the
definition of the digital assets binds the procured loan with the product along with proper
approval workflow and decision matrix. Depending upon the type of the loan, definition of the
digital assets changes which provides a smooth workflow for the entire process.

Multiple API’s are implemented against these modules for generating the digital assets against
the loan product definition. Multiple Digital Assets created and altered depending upon the
requirements which provides flexibility to the process of the entire workflow.

5.1.2 REGISTRATION AND AUTHENTICATION


Arttha Platform’s APIs are authenticated using the Basic Auth HTTP Authentication and
IP whitelisting. All the APIs are accessed only if the request originates from one of the white-
listed IP Addresses.

The user will get the required username and password (access token) to authenticate the API
after the registration.

5.1.3 SAMPLE RESPONSES


This section will help the user with sample response format for various failure
conditions. A proper message providing the user with the required steps to be taken in case of
any failure are provided to ensure a smooth working of the collateral loan procurement process.
5.1.4 CALCULATE APPROVED OFFERS
Multiple API’s are used to fetch Approved loan offers for the existing customers of
respective banks depending upon the current situation of the loan application. There are multiple
approval status associated with an application and proper approvals are required at each stage by
different users ( e.g. operational users ). These API’s are responsible to fetch and guide the
approval workflow status of the loan applications which take care of the different steps involved
to procure a loan.

5.1.5 UDP ( USER DEFINED PAGES )


User Defined Pages similar to Digital Assets belong to the core part of the Arttha
Platform which forms a highly flexible component of the collateral loans which vary depending
upon the definition and the requirement of the product. Depending on the type of loan and the
digital assets associated with them, UDP’s are defined which provides a high flexible support to
the loan product. In case there are changes in the process of loan procurement due to the
changing workflow, UDP provides a stable process which adds to the robustness of the entire
process.
5.1.6 ELIGIBILITY PROCESS
This section will help us with the steps to calculate the eligibility on the basis of the data
and the documents provided by the customer.

Eligibility calculation is a multi-step process with the step as follows:


● Initiate Eligibility calculation using the Initiate eligibility calculate API.
● After initiating eligibility, please use the complete express Eligibility API . This API will
initiate the main eligibility engine and provide you with a unique transaction ID to fetch
the eligibility response.
● The eligibility engine will take some time to process the whole data including the bank
statements, so the eligibility response. needs to be called repeatedly after a fixed time
interval until the response is provided by the api.
● Use the recalculate API to change the loan amount and tenure in the calculated offer
within the given range of maximum and minimum values for loan amount and tenure.
CHAPTER – 6
TECHNOLOGY
STACK
6 TECHNOLOGY STACK

6.1 TOOLS USED

6.1.1 Visual Studio for developing frontend using AngularJS.

Visual Studio Code is a lightweight but powerful source code editor which runs on your
desktop and is available for Windows, macOS and Linux. It comes with built-in support for
JavaScript, TypeScript and Node.js and has a rich ecosystem of extensions for other languages
and runtimes (such as C++, C#, Java, Python, PHP, Go, .NET).

6.1.2 ZEPLIN for accessing design widgets.


Zeplin is a plugin and standalone desktop application for Mac and Windows specifically
designed to bridge the gap between designers and engineers. It takes designs from Sketch,
Adobe XD CC, Figma, or Adobe Photoshop CC and exports them into a format which generates
code snippets, design specs, and assets.

6.1.3 DBeaver for accessing and investigating the data.


DBeaver is a free, open source, graphical database management tool for database
developers and administrators. One can use DBeaver to create and manage databases across a
wide range of database management systems (DBMSs). DBeaver works with most of the
popular DBMSs, such as MySQL, PostgreSQL, MariaDB, SQLite, Oracle, DB2, SQL Server,
Sybase, Microsoft Access, Teradata, Firebird, Derby, and more. In fact, DBeaver can be used on
any database that has a JDBC or ODBC driver. It also works on some other databases that don’t
have a standard xDBC driver, such as MongoDB, Redis, and WMI.

6.1.4 Git for managing the project source code.


Git is a DevOps tool used for source code management. It is a free and open - source
version control system used to handle small to very large projects efficiently. Git is used to track
changes in the source code, enabling multiple developers to work together on non - linear
development.
6.1.5 Redis Server for maintaining the cache for faster execution of API calls .
Redis is an open source (BSD licensed), in-memory data structure store used as a
database, cache, message broker, and streaming engine. Redis provides data structures such as
strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial
indexes, and streams.

6.1.6 STS ( Spring Tool Suite ) for developing backend in JAVA.


Spring Tool Suite (STS) is a java IDE tailored for developing spring based Enterprise
Applications. It is easier , faster and more convenient and is based on eclipse. It provides a ready
to use environment to implement, debug, run and deploy your applications. It also includes
integration for Pivotal tc Server, Pivotal Cloud Foundry, Git, Maven and AspectJ. STS is built as
an addition on top of the latest Eclipse releases.

6.2 LANGUAGES USED

6.2.1 JAVA for backend development, for developing API‘s

Java is a high-level, class-based, object-oriented programming language that is designed


to have as few implementation dependencies as possible. It is a general-purpose programming
language intended to let programmers write once, run anywhere (WORA), meaning that
compiled Java code can run on all platforms that support Java without the need to recompile.
Java applications are typically compiled to bytecode that can run on any Java virtual machine
(JVM) regardless of the underlying computer architecture.

The syntax of Java is similar to C and C++, but has fewer low-level facilities than either of them.
The Java runtime provides dynamic capabilities (such as reflection and runtime code
modification) that are typically not available in traditional compiled languages. As of 2019, Java
was one of the most popular programming languages in use according to GitHub, particularly for
client–server web applications, with a reported 9 million developers.
6.2.2 JavaScript, TypeScript , CSS , HTML , Angular JS for FrontEnd Development

● HyperText Markup Language

HyperText Markup Language (HTML) is the backbone of any website development


process, without which a web page does not exist. Hypertext means that text has links, termed
hyperlinks, embedded in it. When a user clicks on a word or a phrase that has a hyperlink, it will
bring another web-page. A markup language indicates text can be turned into images, tables,
links, and other representations. It is the HTML code that provides an overall framework of how
the site will look. HTML was developed by Tim Berners-Lee. The latest version of HTML is
called HTML5 and was published on October 28, 2014 by the W3C recommendation. This
version contains new and efficient ways of handling elements such as video and audio files.

● Cascading Style Sheets (CSS)

Cascading Style Sheets (CSS) controls the presentation aspect of the site and allows your
site to have its own unique look. It does this by maintaining style sheets that sit on top of other
style rules and are triggered based on other inputs, such as device screen size and resolution. The
CSS can be added externally, internally, or embedded in the HTML tags.

● JavaScript

JavaScript is an event-based imperative programming language (as opposed to HTML's


declarative language model) that is used to transform a static HTML page into a dynamic
interface. JavaScript code can use the Document Object Model (DOM), provided by the HTML
standard, to manipulate a web page in response to events, like user input. Using a technique
called AJAX, JavaScript code can also actively retrieve content from the web (independent of
the original HTML page retrieval), and also react to server-side events as well, adding a truly
dynamic nature to the web page experience.
● TypeScript

TypeScript is a programming language developed and maintained by Microsoft. It is a


strict syntactical superset of JavaScript and adds optional static typing to the language. It is
designed for the development of large applications and transpiled to JavaScript. As it is a
superset of JavaScript, existing JavaScript programs are also valid TypeScript programs.
TypeScript may be used to develop JavaScript applications for both client-side and server-side
execution (as with Node.js or Deno).

6.2.3 SQL for querying the database

SQL (Structured Query Language) is a domain-specific language used in programming


and designed for managing data held in a relational database management system (RDBMS), or
for stream processing in a relational data stream management system (RDSMS). It is particularly
useful in handling structured data, i.e. data incorporating relations among entities and variables.
SQL offers two main advantages over older read–write APIs such as ISAM or VSAM. Firstly, it
introduced the concept of accessing many records with one single command. Secondly, it
eliminates the need to specify how to reach a record, e.g. with or without an index.
CHAPTER-7
TESTING
7 TESTING

7.1 UNIT TESTING – Unit testing is performed on frontend and backend both sides. The
details of which is as follows:

7.1.1 Unit Testing on Backend – Unit testing on backend is done using Junit and Mockito
where Junit is used for writing unit test cases for each functionality while Mockito is a frame-
work which helps in mocking the data if one module is dependent on other modules. Spring boot
follows MVC structure and hence while testing the service layer we need to mock data for the
repository layer and hence it is mocked using Mockito. It is required to have at least 80% line
coverage for the production environment. In my case it is 82% code coverage.

7.1.2 Unit Testing on Frontend – Unit Testing on frontend is done so that the tool evaluates
the web page and provides suggestions to minimize loading time. It makes web page retrieval
quicker when users access web pages using Google search engine. Creating a frontend unit
testing plan helps you to know the devices, browsers, and systems which your project needs to
cover.

7.2 FUNCTIONAL AND NON-FUNCTION TESTING – Functional and Non -


Functional testing strategies and employed to test the overall functionality from the business and
customer’s point of view. Actual vs. Expected results , response , speed and other requirements
and properly observed and changes to the platform on the basis of the results obtained by placing
the scores obtained against every parameter are made. Fulfilling the business requirements from
the platform and performance of the application according to customer’s expectations are kept in
the proper matrix for comparing with each new version release of the platform.
7.3 TEST LIFE CYCLE – The software test life cycle typically has a set of activities that
form a logical sequence . The various steps followed are : -

● Requirement Analysis : The most important phases of the test life cycle are the
requirement analysis . This is done by collecting the SRS documents for the new
functionality to be executed and tested.

● Test Planning : On the basis of the requirements , functionality developed and the
required quality expectations a plan of action for execution is prepared.

● Test Case Development : Tests and creatively designed and documented using several
techniques like error guessing, heuristics, etc.

● Environment Setup : A combination of hardware and software environment setup is


made on which tests are going to be executed.

● Test Execution : For the test data the developed functionality is tested to check for both
business requirements and end - user expectations.

● Test Cases Closure : A test closure report is generated fully describing the testing
activities and the results obtained. On the basis of the matrix data generated against the
various testing parameters, further meetings are conducted to analyze the present state of
the application and the future course of action that would be taken.
CHAPTER-8
SNAPSHOT OF
GUI
8 SNAPSHOT OF GUI

Figure 8.1 Landing Page


Figure 8.2 Account Details
Figure 8.3 Basic Details
Figure 8.4 Account Statements
Figure 8.5 Customer Favorites and Loyalty Points
CHAPTER-9
FUTURE ENHANCEMENT
9 FUTURE ENHANCEMENT

Every day, Arttha is improving. In terms of infrastructure and protection problems, user
design, user interaction, and the technologies we use, the platform is always getting stronger.
Quality and better understanding may be used to expand its versatility.

The main scope of the project will be to expand the project market by making it available to all
sectors and to improve the design and requirements according to the customer's requirements.
Registration increases the consistency and accountability of knowledge businesses so that
consumers and other main actors can make more educated choices and have a wider reach.
CHAPTER - 10
CONCLUSIO
N
10 CONCLUSION

The project Arttha - Unified Fintech Platform is about improving the quality and empowering
banks to reduce operational costs and accelerate financial inclusion by delivering simplified
branchless banking services to the unbanked and the underbanked by its Agent Banking solutions.
A future - ready and flexible loan lifecycle management solution turning lending into a quick,
painless process and enables lenders to sustain customer - centric digital experiences at scale.

It was a great learning experience where I learned Spring Boot , DBeaver, JPA, Lombok, Gitlab.
It was a great wonderful opportunity provided by PureSoftware and JC Bose University, YMCA.
I was able to learn and do challenging stuff every day.
\

CHAPTER-11

REFERENCES
11 REFERENCES

1. Dinesh Rajput, "Mastering Spring Boot 2.0" Book


2. Spring Boot documentation, “ https://docs.spring.io/spring-boot/docs/current/refer-
ence/htmlsingle/”
3. DBeaver documentation, “ https://dbeaver.com/docs/wiki/ ”
4. Gitlab API documentation : “https://docs.gitlab.com/ee/api/”
5. JPA documentation, “https://docs.spring.io/spring-data/jpa/docs/current/refer-
ence/html/#reference”
6. Lombok documentation : “https://projectlombok.org/features/all”
7. PureSoftware company info : “https://puresoftware.com/”
8. “ https://www.tutorialsteacher.com/webapi/what-is-web-api ”
9. “ https://infosecwriteups.com/lets-break-into-payment-gateways-fc52523eeaca ”
BRIEF PROFILE OF STUDENT

Name: Yogesh

Roll No: 19001015071

Course/Branch: Bachelor of Technology in Electronics & Computer

Internship Company: PureSoftware Private Limited , Green Blvd, Plot B9-A, 3rd Floor

Tower B, Sector - 62, Noida - 201301

Email ID: [email protected]

You might also like