Final Report Pmms

Download as pdf or txt
Download as pdf or txt
You are on page 1of 33

Internship on

iOS App Development

An Internship Report

Submitted by

Gaurav D. Harkhani
181260107019

In partial fulfilment for the award of the degree of

BACHELORS OF ENGINEERING
In
Computer Engineering Department
Sal Engineering and Technical Institute – Ahmedabad

Gujarat Technological University, Ahmedabad

May, 2022
Sal Engineering And Technical Institute
Opp. Science city, Sola-Bhadaj Road, Ahmedabad, Gujarat 380060

CERTIFICATE

This is to certify that the project report submitted along with the internship entitled
Internship on iOS App Development has been carried out by Gaurav D. Harkhani under
my guidance in partial fulfillment for the degree of Bachelor of Engineering in Computer
Engineering, 8th Semester of Gujarat Technological University, Ahmedabad during the
academic year 2021-2022.

Dr. Viral Parekh Dr. Ajay Upadhyaya

Internal Guide Head of the Department


GUJARAT TECHNOLOGICAL UNIVERSITY
CERTIFICATE FOR COMPLETION OF ALL ACTIVITIES AT ONLINE PROJECT PORTAL
B.E. SEMESTER VIII, ACADEMIC YEAR 2021-2022
Date of certificate generation : 03 May 2022 (20:01:34)

This is to certify that, Harkhani Gaurav Dhirajlal ( Enrolment Number -


181260107019 ) working on project entitled with Internship On Ios App
Development from Computer Engineering department of SAL ENGINEERING
& TECHNICAL INSTITUTE, SOLA, AHMEDABAD had submitted following
details at online project portal.

Internship Project Report Completed

Name of Student : Harkhani Gaurav Name of Guide : Dr. Viral Ashokbhai Parekh
Dhirajlal

Signature of Student : _____________ *Signature of Guide : ________________

Disclaimer :
This is a computer generated copy and does not indicate that your data has been evaluated. This is the receipt that GTU
has received a copy of the data that you have uploaded and submitted as your project work.

*Guide has to sign the certificate, Only if all above activities has been Completed.
Sal Engineering And Technical Institute
Opp. Science city, Sola-Bhadaj Road, Ahmedabad, Gujarat 380060

DECLARATION

We hereby declare that the Internship report submitted along with the

Internship entitled Internship on iOS App Development submitted in partial

fulfilment for the degree of Bachelor of Engineering in Computer Engineering

to Gujarat Technological University, Ahmedabad, is a Bonafide record of

original project work carried out by me at Hyperlink Infosystem Pvt. Ltd.

Under the supervision of Mr. Nisar Ahmed and that no part of this report has

been directly copied from any students’ reports or taken from any other source,

without providing due reference

Name of the Student Sign of Student

1. Gaurav D. Harkhani
Acknowledgement

Any achievement doesn’t depend solely on the individual efforts but on the guidance,

encouragement and cooperation of intellectuals, elders and friends. A number of

personalities have helped me. I would like to take this opportunity to thank all of them. I

would like to extend my deepest gratitude Hyperlink Infosystem Pvt. Ltd., to give me the

golden opportunity to do this wonderful internship in iOS app development. I extend warm

thanks to Dr. Ajay Upadhyaya, H.O.D., Dept. of Computer Engineering. Sal Engineering

And Technical Institute, Ahmedabad for his constant encouragement, motivation and

guidance. specially, I would like to thank my internal guide Dr. Viral Parekh for giving me

constant guidance during internship and helping me a lot in finalizing this internship within

the limited time of frame.

181260107019

Gaurav Harkhani

i
Abstract

The iPhone has become a top selling smartphone since its launch in 2007 and
has along with its iOS (Apple's mobile operating system) overtaken many
popular and established mobile phone brands in the ratings. Some
competitors have not been able to provide a competing smartphone while
others have grouped together to withstand the Apple onslaught. There are
probably quite a few reasons why the iPhone has become such a success, and
one could likely write a report solely about those reasons. I will focus on one
of them in this study, maybe one of the most important reasons: the iPhone
came with a revolutionizing user interface. I have studied iOS applications
and their user interface components along with related research in order to
try and find out what exactly makes it so attractive and also to uncover any
flaws I might stumble across along the way. In order to answer this, and to
gain a better insight into the iOS, I have developed an iPhone application from
scratch covering all of the basic functionality usually found in any other
iPhone application. The results will show that most of it seems to relate with
Apple enforcing very strict rules and guidelines, along with limitations placed
on the developer and the process as a whole. This strict process ends with
Apple evaluators performing a review of the finished product, using their
guidelines as heuristics. These guidelines will be proven to have scientific
credibility, and the controlled development process will be a key to defining
the iOS success.

ii
List of Figures

Fig 1.1 Organization Chart.............................................................................2

Fig 1.2 Product Development Process ….......................................................3

Fig 3.1 Swift and XCode................................................................................7

Fig 3.3.1.1 Registration screen and Sound screen..........................................8

Fig 3.3.2.1 OTP verification and Tabbar with collection view screen...........9

Fig 3.3.3.1 Advanced collection view with custom navigation bar &
Dynamic height collection view...................................................................10

Fig 3.3.4.1 Table view using XIBs and Shopping cart with Image
Slider.............................................................................................................11

Fig 3.3.5.1 Ratings in shopping cart & WebView inside application..........12

Fig 3.3.6.1 Horizontal collection view with vertical collection view and Tag
screen............................................................................................................13
Fig 3.3.7.1 Messaging screen and contact list crud screen...........................14

Fig 3.3.8.1 Order activity screen and Photo viewer screen with API data
fetching.........................................................................................................15

Fig 3.3.9.1 Screen design using advanced collection view..........................16

Fig 3.3.10.1 Sign In and Create Account screen with User Defaults...........17

iii
List of Tables

Table 2.1 Weekly report overview............................................................... 7


Table 4.1 Continuous evalution....................................................................21

iv
List of Abbreviations

SDLC Software Development Lifecycle


UI User Interface
API Application Programming Interface
iOS iPhone operating system
MVC Model view controller
MVVM Model view view-model

v
Table of Contents

Acknowledgement…………………………………………………………...i
Abstract……………………………………………………………………...i
List of Figures……………………………………………………………...iii
List of Tables…………………………………………………………….....iv
List of Abbreviations……………………………………………………......v
Table of Contents…………………………………………………………..vi
Chapter 1 Overview of Company………………………………………...1
1.1 History…………………………………………………………...1
1.2 Different Product of work…………………………………….....1
1.3 Organization Chart……………………………………………....2
1.4 Capacity of plant………………………………………………...2
1.5 Explain in details about each stage of production…………........2
1.6 Layout of manufacturing of product……………………...….....3
Chapter 2 Introduction to internship………………........….........……..4
2.1 Internship summary…………………………………………….4
2.2 Objective……………………………………………………….4
2.3 Purpose…………………………………………………………4
2.4 Technology and literature review……………………………....4
2.5 Internship Planning……………………………………………..5
2.5.1 Internship approach…………………………………....5
2.5.2 Internship effort and time, cost estimation…………….6
2.5.3 Roles & responsibilities………………...……………...6
2.5.4 Group dependencies……………………...…………….6
2.6 Weekly report overview………………………………………...6
Chapter 3 Implementation ……………………………………………....7
3.1 Implementation platform………………………………………..7

vi
3.2 Process…………………………………………………………..7
3.3 Outcomes (Screenshots of work)………………………………..8
Chapter 4 Conclusion and discussion…………………………………..18
4.1 Summary of internship………………………………………....18
4.2 Photograph date of surprise visit by institute mentor…………..19
4.3 Dates of continuous evolution……………………………….....20
4.4 Problem encountered and possible solutions…………………...20
4.5 Limitation and future enhancement………………………….....20
Chapter 5 References………………………………………………….....21

vii
1.0 OVERVIEW OF COMPANY

1.1 HISTORY:

Hyperlink Infosystem was born in the year 2011 The company has been kick started by one
great man – Harnil Oza with the exceptional passion & long vision.

Ahmedabad-based Hyperlink Infosystem is belived to be one of the popular providers of


IT services. The Professional company is closely structured in such a way to offer more
acquirable result and solutions for use in a variety of businesses, encountering problems in
information and technology sector.

The company offers customized solutions based on yhe expectations of the clients and the
products will be delivered with high quality at cost effective rates and at specified times.
Company have the commitment, competitiveness and strong improvements in the products
and services company led by a proper team and the head will possibly reach greater heights.

1.2 DIFFERENT PRODUCT OF WORK:

• App Development
• Web Development
• E – Commerce
• Game Development
• Blockchain Technology
• Salesforce Solutions
• AI & ML
• IoT & Embedded

GTU 1 SETI
Project ID – 211154 Overview of company

1.3 ORGANIZATION CHART:

Fig 1.1 Organization Chart

1.4 CAPACITY OF PLANT:

With the start of this year, Company achieved a new milestone with 500+ Employees and
moved to new modern premises with more positive energy that offers the best working
environment.

1.5 EXPLAIN IN DEATILS ABOUT EACH STAGE OF

PRODUCTION:

• Requirement gathering: The business development executive meetts with clients


and got the requirements from them.

GTU 2 SETI
Project ID – 211154 Overview of company

• Design: As per requirements the design team create the UI corrrensponding to


functionality.
• Development: After design the development team have to develop the robust nad
clean code with protype & after that fully functional product.
• Testing: After completing development testing team test the overall Product and
give their approval.
• Launching: At last after complete the testing product is being ready to launch in
market.

1.6 LAYOUT OF MANUFACTURING OF PRODUCT:

Agile software development refers to a group of software development methodologies


based on iterative development, where requirements and solutions evolve through
collaboration between self-organizing cross-functional teams. In Agile Product
development process, we include different stages like – 1) Requirement gathering 2)
Planning 3) Design an application 4) Development 5) Testing & Release 6) Track and
Monitoring.

Fig 1.2 Product Development Process

GTU 3 SETI
2.0 INTRODUCTION TO INTERNSHIP

2.1 INTERNSHIP SUMMARY:

Within my study I have very passionate about iOS app development. It was a great
opportunity to do internship in iOS within well reputed IT company. It is well-known IT
company located in Ahmedabad. At the beginning of the Internship, I had set several
learning goals for improvement of my learning. During three month I learn about iOS app
development from very to mid – advance level. In this time, I have several tasks related to
R&D, Design and development of module of applications. In this duration I have achieved
many targets and milestones. In conclusion, the internship was a useful experience. I have
found out what my strengths and weaknesses are; I gained new knowledge and skills and
met many new people. I achieved many of my learning goals, however for some the
conditions did not permit to achieve them as I wanted.

2.2 OBJECTIVE:

The main objective of internship is to design and develop feasible, robust and clean – code
application for iPhone operating system. An additional objective is to learn about latest
technologies and framework used in iOS app development in current developing world.

2.3 PURPOSE:

The purpose of my internship is to gain experience in iOS app development, identify my


career goals, strengthen my resume and attain college credits

2.4 TECHNOLOGY AND LITERATURE REVIEW:

GTU 4 SETI
Project ID – 211154 Introduction to internship

Technology used in internship is iOS, Xcode and swift language.

iOS is Apple's mobile operating system developed originally for the iPhone, and later
deployed on the iPod Touch and iPad as well. It is derived from Mac OS X, with which it
shares the Darwin foundation, and is therefore a Unix-like operating system, by nature. In
iOS, there are four abstraction layers: the Core OS layer, the Core Services layer, the Media
layer, and the Cocoa Touch layer.

iOS (formerly iPhone OS) is a mobile operating system created and developed by Apple
Inc. exclusively for its hardware. It is the operating system that presently powers many of
the company's mobile devices, including the iPhone, iPad, and iPod Touch. It is the second
most popular mobile operating system globally after Android.

ChristianJ.D’Orazio said that, Mobile devices and apps such as cloud apps are a potential
attack vector in an Advanced Persistent Threat (APT) incident, due to their capability to
store sensitive data (e.g. backup of private and personal data in digital repositories) and
access sensitive resources (e.g. compromising the device to access an organizational
network). These devices and apps are, thus, a rich source of digital evidence. It is vital to
be able to identify artifacts of forensic interest transmitted to/from and stored on the
devices. However, security mechanisms in mobile platforms and apps can complicate the
forensic acquisition of data. In this paper, we present techniques to circumvent security
mechanisms and facilitate collection of artifacts from cloud apps. We then demonstrate the
utility of the circumvention techniques using 18 popular iOS cloud apps as case studies.
Based on the findings, we present the first iOS cloud app security taxonomy that could be
used in the investigation of an APT incident.

iOS (formerly iPhone os) is a mobile operating system created and developed by Apple
Inc. iOS is designed to be simple and easy to use, it does not include several features found
in a traditional operating system. Apple’s iOS provides more basic user interface than Mac
OS X, each new version adds more features.

2.5 INTERSHIP PLANNING:

2.5.1 INTERNSHIP APPROACH:

GTU 5 SETI
Project ID – 211154 Introduction to internship

Aa we have get training our approach is get knowledge of iOS lifecycle first then learn
about design the application and develop the basic application then learn about the advance
topic and coding structure like MVC & MVVM

2.5.2 INTERNSHIP EFFORT AND TIME, COST ESTIMATION:

As there is training there no time and cost estimation s for tasks , but the efforts are put are
R&D, develop login of application and apply different approach for solving problems.

2.5.3 ROLES & RESPONSIBILITIES:

As a intern my roles and responsibilities are learn about how to design and develop ios
application from scratch, learn new functionalities and logic development for app.

2.5.4 GROUP DEPENDENCIES:

There is individual training and task no need of group dependencies.

2.6 WEEKLY REPORT OVERVIEW:

Table 2.1 Weekly report overview

Week – 1(18/01 – 21/01) Basic of swift, XCode & App Lifecycle

Week – 2 (24/01 – 29/01) Learn Screen Designing & Autolayout

Week – 3 (31/01 – 05/02) Learn about Data Passing & validation

Week – 4 (07/02 – 11/02) Learn about Delegate, Alert & Pickers

Week – 5 (14/02 – 19/02) Task Practice, Learn about Stack view

Week – 6 (21/02 – 25/02) Table view, Static table designing

Week – 7 (28/02 – 05/03) Dynamic Table view and Data passing

Week – 8 (07/03 – 11/03) Table view add, edit delete functionality

Week – 9 (14/03 – 17/03) Learn about array, dictionary and Task

Week – 10 (21/03 – 26/03) Screen Design, Localization, Steeper

Week – 11 (28/03 – 02/04) Advanced collection view & Designing

Week – 12 (04/04 – 08/04) API Calling, Observer & Notification

GTU 6 SETI
3.0 IMPLEMENTATION

3.1 IMPLEMENTATION PLATFORM:

In the duration 3 months of internship on iOS application development we have


implement different task on iPhone operating system(iOS). We have developed
different application module for latest iOS devices like iPhone SE 2, iPhone 13 and
etc. We have use minimum version of iOS is 13 for development. For this we use
XCode 13 latest SDE for mobile development in iPhone. XCode is IDE provided
by apple for developing applications for the apple devices. We have apple
ecosystem environment developing application throughout the internship. For iOS
app there many frameworks for development like UIkit, SwiftUI, etc. We used
UIKit as our based framework which is based on swift and objective – c
programming languages. We used Swift as a base programming language. Swift is
a type safe native, object-oriented programming language for developing iOS
applications. We use MVC as well as MVVM architecture pattern. MVVM is a
preferable for large application.

Fig 3.1 Swift and XCode

3.2 PROCESS:

We followed the predefine process for developing an application by the company.


First, we get design from designers and then we build the flow of application and
get idea of how to work on flow with implementation. Then start working on
different modules like authentication, data model and logic of application. As large

GTU 7 SETI
Project ID – 211154 Implementation

the application we have modules to develop. We have to connect different module


with backend service with the help API fetching. We have created dynamic data
tables and module like image viewer and etc. We have working with user defaults
to save small amount of data in system. We have basic validation for check user
login with help of regex and alerts. We have created advance and complicated
design with help for third party libraries with the help of the Cocoa pods and SPM
(Swift Package Manager). We learn about to build custom views, navigations and
tab bars, etc. As well we use version control system git or version controlling and
project maintaining.

3.3 OUTCOMES (SCREENSHOTS OF WORK):

3.3.1 Description: create registration module and sound module using uikit

Fig 3.3.1.1 Registration screen and Sound screen

GTU 8 SETI
Project ID – 211154 Implementation

3.3.2 Description: created otp verification module using third party pod and create
screen using table view and custom navigation bar.

Fig 3.3.2.1 OTP verification screen and Tab bar with collection view screen

GTU 9 SETI
Project ID – 211154 Implementation

3.3.3 Description: Create Shopping cart screen using collection view and create

Payment method screen using dynamic height collection view

Fig 3.3.3.1 Advanced Collection view with custom navigation bar & Dynamic height collecton view

GTU 10 SETI
Project ID – 211154 Implementation

3.3.4 Description: Create My profile screen using table view and tab bar controller,

Created Detail product screen Using scroll view and Image slider using collection

view.

Fig 3.3.4.1 Table view using XIBs and Shopping cart with ImageSlider

GTU 11 SETI
Project ID – 211154 Implementation

3.3.5 Description: Created Rating screen using Third party pod and Web view

inside an application using web kit library.

Fig 3.3.5.1 Ratings in shopping cart & WebView inside application screen

GTU 12 SETI
Project ID – 211154 Implementation

3.3.6 Description: Created Screen Using Horizontal and vertical combine collection

view and Tag screen using Align collection view layout.

Fig 3.3.6.1 Horizonal Collection view with Vertical collection view and Tag screen

GTU 13 SETI
Project ID – 211154 Implementation

3.3.7 Description: Create Message using table view and Create contact list with

Add, edit, delete and Search functionality.

Fig 3.3.7.1 Messaging Screen and Contact list Crud screen

GTU 14 SETI
Project ID – 211154 Implementation

3.3.8 Description: create order activity screen using dynamic table view and Created

image view using dynamic data with API fetching.

Fig 3.3.8.1 Order Activity screen and Photo viewer with API data fetching

GTU 15 SETI
Project ID – 211154 Implementation

3.3.9 Description: Create complicated screen with help of collection view and table

view along with custom navigation .

Fig 3.3.9.1 Screen Design using advanced collection view

GTU 16 SETI
Project ID – 211154 Implementation

3.3.10 Description: create Sign In and Create account screen with User Defauls

functionality.

Fig 3.3.10.1 Sign in and Create account screen with user defaults

GTU 17 SETI
4.0 CONCLUTION AND DISCUSSION

4.1 SUMMARY OF INTERNSHIP:

On the whole, this internship was a useful experience. We have learned ios
development from very basics. We have started learn first about iPhones, their
history, how they work and etc. After that we have learn about basics of swift
language which is backbone of iOS development.

After few days we got an overview of XCode and How it works. In starting
days, we build simple applications without UI. After that we learn How to use
Auto layout and constraints for managing UI component. We learn about
different UI Components like Label, button, Image view, navigation bar and
many more.

Then we practice Auto layout and get skills over it. After that we learn how
write clean code and manage it. We have work login screen using text field
and Different controls. We have implemented Image picker to pick an image
from gallery. After that we have get overview of table view and working on
it. In advanced in table view we learn many concepts and create Contact list
like table with Add, Edit, delete and Search functionality.

After that we learn about collection view and how to create different and
complicated layout from it. We learn about dynamic height collection view.

In Last few weeks we learn about API fetching, create complicated UI and
manage code structured using MVVM pattern, learn about how to use third
party libraries using Cocoa pods.

GTU 18 SETI
Project ID – 211154 Conclusion & Discussion

4.2 PHOTOGRAPHS DATE OF SURPRISE VISIT BY INSTITUTE

MENTOR

Date: 22/04/2022

Photograph:

Fig 4.1 Photograph Faculty Visit

GTU 19 SETI
Project ID – 211154 Conclusion & Discussion

4.3 DATES OF CONTINUOUS EVALUTION

Table 4.1 Continuous of evolution

Continuous Evalution Date


CE-1 05/03/2022
CE-2 29/04/2022

4.4 PROBLEM ENCOUNTERED AND POSSIBLE SOLUTIONS:

We have faced many problems as part our internship. We have faces problem data fetching,
complex designs, dynamic data display, memory management, and layout design based on
different devices. We have done deep R&D for finding solution based on problems. It’s
taken different approach and required different time for problem.

4.5 LIMITATION AND FUTURE ENHANCEMENT:

As there is too much more to get knowledge which we not get in internship there are some
topics we need to go through. In our duration of internship on iOS app development we
have work on app to run on minimum version of ios 13 and more it’s a limitation so must
have upgraded iOS version of mobile. Besides we have developed application using UIKit
framework, in which we have design manually for different os like macOS, WatchOS, iOS,
tvOS, but in SwiftUI we have done only in one approach, so we will try to develop
applications using SwiftUI in future.

GTU 20 SETI
5.0 REFERENCES

1. Asokan M, (2013) Android Vs iOS – An Analysis, International Journal of


Computer Engineering and Technology, 4(1), pp. 377 –382
2. Banerjee, Debrath. (2018). A Microarchitectural Study on Apple's A11 Bionic
Processor
3. Goodell, Jeff. "The Rise and Fall of Apple Inc." Rolling Stone issues 731, 732
4. http://troindia.in/journal/ijcesr/vol5iss2part3/49-52.pdf
5. https://developer.apple.com/
6. https://dangquocnghi.wordpress.com/2020/09/08/agile-and-scrum/
7. https://www.hackingwithswift.com/100
8. https://www.raywenderlich.com/ios

GTU 21 SETI

You might also like