Training Semester Report, Api Types of Apps

RamanTayal4 9 views 18 slides May 17, 2024
Slide 1
Slide 1 of 18
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18

About This Presentation

Semester Report on Apis


Slide Content

Industrial Training
Presented to :- PEC ECE Department Panel
at PhonePe
Presented by :- Raman Tayal(18105075)
Prof. JD Sharma
Head CDGC, PEC
Mr. Nitin Kaushik
Senior SDE, PhonePe
Under the Guidance of :-
1

Table of Contents
2
•Introduction
•My Role in Team
•Types of Apps
•Implementing Web Service
•Working on user Journey Application
•REST
•API
•Tools and Technologies
•Frameworks Learned
•Integration to code structure
•Analysis of Training

Introduction
•PhonePe is an Indian e-wallet
startup based on UPI Platform
started in 2016, headquartered
in Bangalore India
•PhonePe started Mutual Funds
and Insurance products of
Bajaj, Reliance and ICICI in
2020.
Brief about Company and Start of My Role
3

My Role in Team
•Most of the time I worked in
Finance and Motor Insurance Pod.
•First Im assigned to create a Web
Service that will use some
Machine Learning to fetch Optical
Charters from Image And then to
deploy it.
•Then we will use this information
for auto-populating process of
information filling .
Work in Finance Services
4

Types of Applications
5

6

7

Implementing a Web Service
•If we need to implement a web
service that can detect characters
from a image
•Step 1 :- We need to create Machine
Learning Model that can extract text
from image.
•Step 2 :- We need to create a API for
this data to be accessible
•Step 3 :- We need to expose this
API’s as per our requirements public,
private or within organisation.
Basic Steps

Working on user Journey
Application
•What is REST Web Service ?
•Why do we need REST Services ?
•What is an API ?
•Why do wee need APIs ?
•Android Ecosystem
Creating REST Services and API’s
9

Representational State Transfer
•Technologies used at Front-end and Backend are different so we need some thing
common as a communication tool. Most widely we use JSON Strings.
•When we send JSON Strings from Backend to Frontend it contains data about buttons,
boxes, texts and when we send JSON String from FrontEnd to BackEnd it usually a
response of success. When used between Api’s and Service it contains data to access
data.
•It revolves around resource where every component is a resource and a resource is
accessed by a common interface using HTTP standard methods.
•Whenever a resource is called by a FrontEnd API, Backend returns it with a JSON string and
accordingly front-end reacts.
• HTTP methods :- Four HTTP methods are commonly used in REST based architecture.
•GET − Provides a read only access to a resource.
•POST − Used to create a new resource.
•DELETE − Used to remove a resource.
•PUT − Used to update a existing resource or create a new resource.
10

Application Programming Interface
•API contains software building tools, subroutine definitions as well as
communication protocols that facilitate interaction between systems.
•An API may be for a database system, operating system, computer
hardware or a web-based system.
11

Tools and Technologies Used
12

Why do these tools ?
•OpenJDK is open source version of Java that we used in project. The version most used is
JDK 1.8 because being truly open source while JDK higher than 1.8 are in some way requires
license.
•Intelli-Je Idea is an Open Source Code editor by Jet Brains and the prominent reason to use
this is it provides debugger( like if we need to test on code base when service is running ).
•To be honest most my went in debugging my code and lets see how I used debugger by
IntelliJe.
•PostMan is used for API testing, for example instead of deploying project every time we can
run it locally then test its API’s using Postman by sending POST/PUT/GET/DELETE requests.
•Git is used to manage the different versions of code.
•GitHub/GitLab is platform where team contributes to code.
•Messos is an open source tool by using which we can see the running logs of our project.
13

FrameWorks Learned
and Used
•Why do we need FrameWorks ?
•When we work in teams, every person may
need imports of its kind, these frameworks
help managing this importing.
•Provide integration of servers like Apache
Tomcat.
•Provide Dependency Injection Bundles, Ex :
Some base URL’s, base service points are
kept in dependency injection files so they
can be changed anytime from one place
instead of everyone changing it.
•They are open source so they are
community driven, free and provide latest
features.
SpringBoot and Dropwizard
14

Integration of Web Service in
Existing Project
•The toughest part of the project
is integration to the existing
code structure.
•I learned that while working in a
team I not only need to keep eye
on my changes but also to
others while keeping the code
quality coverage above 80%.
•Intellije provides a feature were
we can test our project without
running it on local computer and
neither by deploying it.

Analysis of Training
•The Learnings at my Internship are the very
basics to implement any small scale
application.
•Every startup in today’s world is reliant and
use these methods. Be it PhonePe, Swiggy,
Zomato, Ola ,Oyo and not only this, these
techniques and software development
tools are used at big firms like Google,
facebook too.
•All of the learning during training is
accumulated in open source project at
GitHub “https://github.com/ramantayal12/
hello_drop"
Implementations in Real Life
16

Thank You
Any Questions ?

References
•Dropwizard :- https://www.baeldung.com/java-
dropwizard
•What is REST API ? Link :- https://www.youtube.com/
watch?v=qVTAB8Z2VmA
•Why do we need REST architecture ? https://
www.tutorialspoint.com/restful/restful_introduction.htm

18