0% found this document useful (0 votes)
96 views31 pages

SKP Inetrship Report

Uploaded by

aagravalritesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
96 views31 pages

SKP Inetrship Report

Uploaded by

aagravalritesh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 31

SUMMER INTERNSHIP (3170001)

Gujarat Technological University


Chandkheda, Ahmedabad

SHRI S’AD VIDYA MANDAL INSTITUTE OF TECHNOLOGY

College Campus, Old-N.H-8., Bharuch


(Affiliated with GTU)

A Summer Internship Report on


Mobile Application Development
At the Industry or company Techomax Solutions Under the subject

Summer Internship
(3170001)

Computer Science and Engineering


Submitted By

Name of student Enrollment No.


Satishbhai K. Patel 210450131503

Academic Year
(2023-2024)

Internal Guide Head of the Department External Guide

Prof. Vishal M. Patel Dr. Kruti Dangarwala


SUMMER INTERNSHIP (3170001)

Shri S’ad Vidya Mandal Institute of Technology


College Campus, Old-N.H-8., Bharuch (Affiliated with GTU)

DEPARTMENT OF COMPUTER SCIENCE AND


ENGINEERING

CERTIFICATE

This is to certify that the Internship at Techomax Solutions has been satisfactorily

completed by Patel Satishbhai k. (210450131503) under my guidance in the fulfillment of the

course Summer Internship (3170001) work during the academic year 2023-2024.

Date: / / 2023

Internal Guide Head of the Department External Guide

Prof. Vishal M. Patel Dr. Kruti Dangarwala


SUMMER INTERNSHIP (3170001)

Shri S’ad Vidya Mandal Institute of Technology


College Campus, Old-N.H-8., Bharuch (Affiliated with GTU)

DEPARTMENT OF COMPUTER SCIENCE AND


ENGINEERING

CERTIFICATE

This is to certify that the work embodied in this SUMMER INTERNSHIP Report entitled
Mobile Application Development has been carried out Patel Satishbhai k. (210450131503) at
Department of Computer Engineering Shri S’ad Vidya Mandal Institute of Technology,
Bharuch in partial fulfillment of the requirements for the degree of Bachelor of Engineering in
Computer Science and Engineering to be awarded by Gujarat Technological University.

Date: / / 2023

External Examiner Name and Sign

--------------------------------------------------
SUMMER INTERNSHIP (3170001)

ACKNOWLEDGEMENT

I wish to express our sincere gratitude to our External guide Ms. Nirali Patel for
continuously guiding me at the company and answering all my doubts with
patience. I would also like to thank my Internal Guide Prof. Vishal M Patel for
helping us through our internship by giving us the necessary suggestions and
advices along with their valuable co-ordination in completing this internship.

We also thank our parents, friends and all the members of the family for their precious
support and encouragement which they had provided in completion of work. In addition
to that, we would also like to mention the company personals who gave us the
permission to use and experience the valuable resources required for the internship.

Thus, in conclusion to the above said, we once again thank the staff members of
Techomax Solution for their valuable support in completion of the project.

Satishbhai K. Patel (210450131503)

I
SUMMER INTERNSHIP (3170001)

ABSTRACT

II
SUMMER INTERNSHIP (3170001)

TABLE OF CONTENTS
CERTIFICATE I
ACKNOWLEDGEMENT II
ABSTRACT III
LIST OF FIGURES IV
CHAPTER 1 INTRODUCTION 1
1.1 About the company 1
1.2 Aim and Objectives of the Internship 1

CHAPTER 2 ROLES AND RESPONSIBILITIES DURING INTERNSHIP 3


2.1 Daily Tasks and Activities 3
2.2 My Roles and Responsibilities 18
2.3 Problems Given 18

CHAPTER 3 SKILLS LEARNED 21


3.1 About the Skill/s 21
3.2 How do I learnt the skill/s 21
CHAPTER 4 OVERALL EXPERIENCE 22
4.2 Technical Experience 22
4.3 Personal Experience 22

CONCLUSION 24
REFERENCES 25

III
SUMMER INTERNSHIP (3170001)

LIST OF FIGURES
FIGURE NO. FIGURE NAME PAGE NO.

Fig 1 Hot Reload 6

Fig 2 Hot Restart 6

Fig 3 Text Widget 8

Fig 4 Container 8

Fig 5 Padding and Margin 9

nd st
Fig 6 Back 2 Screen to 1 Screen 9
Fig 7 Stack Widget 10

Fig 8 Assets 11

Fig 9 Postman 16

Fig 10 Bottom Navigator 16

Fig 11 List View 17

Fig 12 Push Replacement 18

IV
SUMMER INTERNSHIP (3170001)

Chapter 1: Introduction

1.1 About the company


Company Name: Techomax Solutions
th
Address: 914,915,9 Floor, Golden Square, Bharuch
Contact No: +91 7016037525

Email Id: [email protected]

Website: www.techomaxsolutions.com

“TechoMax Solution” is established in 2018-19. Innovation as a clear differentiator.


Innovation, along with focus on deep, long-lasting client relationships and strong
domain expertise, drives every facet of our day-to-day operations.

“TechoMax Solution” was founded with a vision to address growing businesses'


needs of reducing the time to market and cost effectiveness required to develop
and maintain unique and customized web and mobile solutions. We are uniquely
and strategically positioned to partner with startups and leading brands to help
them expand their business and offer the most effective and cost-efficient
solutions that provide revenues and value to their business needs.

All processes are well documented, that enable us to deliver more effective
and innovative solutions with each project we work on. Provide services that
conform to customers' requirements, at a satisfactory overall cost, having
regard to functionality, reliability, durability, usability, appearance, and safety.

“TechoMax Solution” is a leading Website Development company. We are providing


Website Design & Development Services, ERP Solution, Desktop Application
Development, Web Portal Development, E commerce Website Development and Mobile
Application Development. Unless it comes to design, we are not so big on hierarchy.
we are a flat organization of highly-empowered super motivated colleagues where
people can freely exchange ideas. We believe that continuous research helps us
understand customers’ needs, so we can build products people truly enjoy. Our team
thrives in an environment where we can work as partners with our clients.

There are promises and then there are deliverables; we are different because we do not
differentiate between the two. We are Website Developers who do not just deliver projects
but the core values we trust in! We customize not as an option but as our way to satisfy our
clients. We work to make businesses realize and achieve their potential and help them
reach it in order to enhance their brand value! Our strength lies in the expertise of our team
that handles projects related to Website Design and development,

210450131503 1
SUMMER INTERNSHIP (3170001)

Android Development with Android app, various aspects of digital marketing,


developing complete IoT ecosystems, and performing real-time analysis for
superior efficiency. Our process-driven team is motivated by ever-challenging
projects. Every client is different so are their expectations from us.

1.2 Aim and Objectives of the Internship


Aim of the Internship

Internship program provides a new perspective to the students. It provides learning


opportunities outside the boundaries of the course curriculum and classroom activities.
These opportunities enhance student’s capability to apply theoretical understanding into
real-world scenarios, thereby enhancing the student’s academic and career goals.

From the student perspective, internship assists with career development


in different diverse fields such as coding, programming, networking,
marketing, etc. by providing vital work experience that allows students to
explore their area of interests and develop relevant skills and competencies.

From the organization perspective, internship provides a unique


opportunity to train fresh talents, enhance their professional development as
well as aid the professional growth of the intern mentor/supervisor.
Organizations can also find potential employees within the interns.

Objectives of the Internship

The purpose of this internship is to expose students to real work of


environment experience and at the same time. The report is prepared for
the purpose of explaining the achievement of the author during internship
period. The objectives of internship programs are as follows….
To build the strength, teamwork spirit and self-confidence in student’s life.
Provides the opportunity to learn real-life work skills and
etiquette hands-on at a real job.
To Gain valuable skills, knowledge and experience in a field to
allow you to make a career transition.
Explore a career interest, develop skills, and gain experience.
Internship, focus on the skills you will learn and the experiences you will have,
not simply on the company name. To help you apply the theory and skills you
have learned in the classroom setting, and for personal development.
The student will be able instilled with good moral values such
responsibility, commitment and trustworthy during their training.
Internships strengthen resumes by giving students visible work experience
and providing older job hunters with needed credentials to change careers.

210450131503 2
SUMMER INTERNSHIP (3170001)

Chapter 2: Roles and Responsibilities during internship

2.1 Daily Tasks and Activities

Date Topics Covered


27/07/2023 Introduction of The Flutter
Installation of The Android Studio
Installation of The Flutter
Difference between Flutter vs Android
Difference between Flutter vs React Native
Hot reload and hot restart
Hide debug banner
Wrap or remove Widget
28/07/2023
See the suggestion
Widget Text, container
Padding, Margin
nd st
29/07/2023 Back 2 Screen to 1 Screen
Stack widget
Import assets pubspec.yaml
st
31/07/2023 Navigation to 1 screen to next
Change launcher icon on flutter
rd
01/08/2023 How to integration 3 party library
02/08/2023 Api call
What is API call?
What is POST man?
03/08/2023 Bottom navigator
List view
push replacement
04/08/2023 Page view
Launch app on play store
Gesture detector
If else condition on widget
05/08/2023 tabs
07/08/2023 Toaset
WebView example
08/08/2023 Flutter with firebase setup
Checkbox
Radio button
09/08/2023 Google ads
Google analytics
Tooltip
10/08/2023 Bar chart
Firebase real-time database

210450131503 3
SUMMER INTERNSHIP (3170001)

Introduction of Flutter:
Single Codebase for Multiple Platforms: Flutter enables developers to write a
single codebase that can run on multiple platforms, including iOS, Android, web,
and desktop (Windows, macOS, Linux). This can significantly speed up
development and reduce the need for separate codebases for different platforms.
Widget-Based Architecture: Flutter uses a widget-based architecture
where everything is a widget, including the user interface elements,
layouts, and even the application itself. Widgets are highly
customizable and can be combined to create complex UIs.
Hot Reload: One of the standout features of Flutter is its "hot reload"
capability. This allows developers to see the changes they make to the
code reflected in the app almost instantly, without the need to restart the
application. This greatly speeds up the development and testing process.
Rich Set of Widgets: Flutter offers a wide range of customizable and
extensible widgets for building complex UIs. These widgets follow
Material Design (for Android) and Cupertino (for iOS) guidelines,
resulting in native-like UI experiences on both platforms.
High Performance: Flutter applications are compiled to native ARM code, ensuring
high performance and smooth animations. It also provides a 2D rendering engine
called Skia, which helps in creating visually appealing and responsive interfaces.
Dart Programming Language: Flutter uses the Dart programming language,
which is also developed by Google. Dart is known for its modern syntax,
strong typing, and features like asynchronous programming, making it
suitable for building responsive and efficient applications.
Custom UI Designs: With Flutter's flexibility and customizable
widgets, developers have the freedom to create unique and custom
UI designs that stand out from the standard platform designs.
Community and Packages: Flutter has a growing and active community, which
has led to the creation of numerous packages and plugins available through
the Flutter package repository (pub.dev). These packages cover a wide range
of functionalities, making it easier to integrate various features into your app.
Platform Integration: Flutter provides plugins and APIs to interact
with native platform features and services. This enables developers
to access device hardware, sensors, and other native capabilities.
Growing Popularity: Flutter has gained significant popularity within the
developer community due to its efficiency, cross-platform capabilities, and
developer-friendly features. It's used by various companies and start ups
to build applications across different platforms.
Web and Desktop Support: In addition to mobile platforms, Flutter has
been extended to support web and desktop application development,
allowing developers to target a broader range of devices with their apps.
State Management: Flutter offers various state management solutions to
help developers manage the state of their applications efficiently, including
built-in solutions like Provider and third-party libraries like Redux.

210450131503 4
SUMMER INTERNSHIP (3170001)

Installation of Android Studio:


Visit the official Android Studio download page
at https://developer.android.com/studio.
Choose the version appropriate for your operating system
(Windows, macOS, or Linux).

Installation of Flutter:
You can download the Flutter SDK from the official Flutter website
(https://flutter.dev/docs/get-started/install). You can choose the
appropriate download link for your operating system.

Difference between Flutter and Android:

Flutter Android Studio


Flutter appears to have its own Android Studio belongs to the category
tech stack classification, “Cross- of technology suite known as “Integrated
Platform Mobile Development.” Development Environment.”
Flutter provides access to native Android studio offers a solution
applications and other SDKs by based on Gradle that is extremely
allowing you to use or reuse your prior flexible and easy to use because
javascript, swift, and object code, it has already been developed.
among other programming languages.
It is intended to aid developers and Android Studio is constructed
designers in creating mobile applications with variants and APK versions
for iOS and Android devices that adhere to from numerous generations.
a current paradigm.
In flutter studio, applications are In addition, it includes a template that
developed at a swift rate. Hot reload is a is compatible with Google services
feature that enables you to quickly and and a variety of other devices.
easily experiment with various settings
and resolve any potential issues.
Companies such as Hybrid Heroes, Policy Google, Lyft, and 9GAG are
genius, and pludoni GmbH use Flutter. some well-known companies
that use Android Studio.

Hot Reload and Hot Restart:

Hot Reload: A hot reload is a great functionality present in a flutter. It is the


easiest and the fastest function which helps you to apply changes, fix bugs,
creating UIs, and add features. It takes approximately one second to perform
its functionality. In hot reload it does not destroy the preserved state. But you
cannot use a hot reload once the app gets killed.
Perform Hot Reload:

210450131503 5
SUMMER INTERNSHIP (3170001)

Run your flutter editor from the app or using the command prompt.
We can use hot reload in flutter debug mode.
Once your flutter project has been created do some changes in your
code and perform a hot reload.
In windows, you can perform a hot reload using ‘ctrl+\’ or using the hot
reload button. In Mac devices, you perform a hot reload using ‘cmd+s’. If you
are working in the command prompt using flutter run enter ‘r’ to run.

Fig:1

Hot Restart:
A hot restart has a slightly different functionality as compared to a hot reload. It is
faster as compared to the full restart function. It destroys the preserved states of our
app, and the code gets fully compiled again and starts from the default state. It takes
more time as compared to hot reload but takes less time than the full restart function.
Perform Hot Restart:
Run your flutter editor from the app or using the command prompt.
Once your flutter project has been created do some changes in your
code and perform a hot restart.
You can perform a hot restart using the hot reload button or pressing ctrl+shift+\.

Fig:2
Hide Debugging Banner:

By default flutter shows debug banner in android emultor or ios


simulator. In the top right corner there is a DEBUG banner.

//photo debugging[Fig:3 Debugging Banner]

210450131503 6
SUMMER INTERNSHIP (3170001)

To remove this you can use debugShowCheckedModeBanner property of


MaterialApp() widget. If you set this property to false , banner will be disappeared.

Code:
class MyApp extends Statelesswidget{
@overide
Widget build (BuildContext context){
return MaterialApp(
home: Homepage(),
debugShowCheckedModeBanner: false,
);
}
}
//photo debugging[Fig:4 Hide Debugging Banner]
Wrap and Remove Widget:

Wrap widget:
Using the wrap widget option, you can add the parent widget to the current
widget. This is the opposite of (where you add child widgets). This is useful
when you want to add the widgets in between at a later stage,
for example, wrapping the widgets inside the widget after building the UI.
To wrap a widget:
1.Select the widget from the widget tree or the canvas area.
2.Right-click and select the Wrap Widget option. This will open a popup.
3.Select the widget under which you would like to wrap the current widget.
Remove Widget
Sometimes you might want to remove a specific widget and keep its
children unaffected. Or you might want to replace a widget that is not
supported by the Replace widget option. for example, replace the item
card wrapped in a Container widget with the actual Card widget.
This is different from the Delete widget option, which would delete the widget
and its children as well. To remove a widget, select the widget from the widget
tree or the canvas area, right-click, and select the Remove Widget option.

Widget Text, Container:


Text:
In Flutter, the Text widget is used to display a piece of text within your user
interface. It's one of the most fundamental widgets for displaying textual
content. The Text widget supports various styling options to control the
appearance of the text. Here's an example of how you can use the Text widget:

210450131503 7
SUMMER INTERNSHIP (3170001)

Fig 3
Container:
In Flutter, the Container widget is a versatile and commonly used widget that provides a
way to create a rectangular visual element. It's used for layout, positioning, styling, and
decorating child widgets within it. The Container widget can be thought of as a
lightweight wrapper that allows you to control various visual aspects of its child widget.
Here's an example of how the Container widget can be used:

Fig 4
Padding and Margin:

Padding:
The padding property is used to add space around the contents of a
widget. It defines the distance between the edges of the widget's content
and the edges of the widget itself. Padding can be applied to a wide
range of widgets, such as Container, Text, Image, and more.

You can customize the amount of padding for each side using the EdgeInsets class:

Margin:
The margin property is used to create space around a widget, affecting its positioning
within its parent widget. The margin defines the distance between the edges of the
widget and the edges of its parent container. It's useful when you want to control the
spacing between widgets in layouts.
Code:

210450131503 8
SUMMER INTERNSHIP (3170001)

Fig 5
In this example, the first Container has a bottom margin to separate it from the next widget,
and the second Container has horizontal margins to create space on both sides.

Remember that padding affects the space around the contents of a widget, while
margin affects the space around the entire widget. Both properties are crucial for
achieving balanced and visually appealing layouts in Flutter applications.

Back 2nd Screen to 1st Screen:

Fig 6

Stack Widget:

In Flutter, the Stack widget is used to overlay multiple widgets on top of each
other. It's commonly used to create complex layouts where you need to position
widgets at specific coordinates or stack them in layers. The Stack widget allows
you to precisely control the positioning and order of widgets within the stack.

Here's a basic example of how to use the Stack widget:

210450131503 9
SUMMER INTERNSHIP (3170001)

Fig 7
In this example, we're using the Stack widget to create a layout where
three colored boxes are stacked on top of each other, and a text widget
is displayed at the center. We're using the Positioned widget to position
the colored boxes at specific coordinates within the stack.

Key points in the example:

Stack is the parent widget that holds the children.

alignment property of the Stack widget determines how the children are aligned
within the stack. In this case, Alignment.center centers the children.

The Positioned widget is used to position children widgets within the stack.
You can set properties like top, bottom, left, and right to control their position.

The Text widget is added as a child of the Stack and is displayed at the
center due to the Alignment.center alignment.

Using the Stack widget, you can create more complex layouts by overlaying
widgets with various alignments and positions. It's useful for building designs
that require precise control over the arrangement of UI elements.

Import assets in pubspec.yaml

Importing and using assets in a Flutter project involves specifying the assets' paths in the
pubspec.yaml file and then using those assets within your app. Here's how you can do it:

Add Assets to pubspec.yaml:

210450131503 10
SUMMER INTERNSHIP (3170001)

Open your pubspec.yaml file located in the root directory of your Flutter project. In
the flutter section, add an assets section to list the paths of the assets you want to
include. The assets can be images, fonts, 3D models, JSON files, and more.

yaml
Copy code
flutter:
assets:
- assets/images/
Make sure to adjust the paths based on the actual locations of your asset files.

Fig 8

By specifying assets in the pubspec.yaml and using the appropriate asset-related classes
and methods, you can seamlessly integrate various types of assets into your Flutter app.

Change Launcher Icon:

To change the launcher icon (app icon) in a Flutter app, you need to replace the
default icon with your custom icon images. Flutter provides a convenient way
to configure launcher icons for different platforms using the
flutter_launcher_icons package. This package generates the necessary icon
files and updates the configuration files for various platforms.

Here's how you can change the launcher icon in your Flutter app:

Add flutter_launcher_icons Dependency:

Open your pubspec.yaml file and add the flutter_launcher_icons


package as a development dependency:

dev_dependencies:
flutter_launcher_icons: "^0.9.2"
Run flutter pub get to install the package.

Prepare Icon Images:


210450131503 11
SUMMER INTERNSHIP (3170001)

Prepare your custom icon images. You typically need icons in various
sizes for different platforms (iOS, Android) and resolutions. Common
icon sizes include 48x48, 72x72, 96x96, 144x144, and 192x192 pixels.

Name your icon images according to the pattern specified by the


flutter_launcher_icons package (e.g., icon-android.png, icon-ios.png,
etc.). Place them in a directory in your project, such as assets/icons.

Configure flutter_launcher_icons:
In your pubspec.yaml, add a configuration section for the
flutter_launcher_icons package:

flutter_icons:
android: true
ios: true
image_path: "assets/icons/icon"
Set android and ios to true to generate icons for Android and iOS platforms.
image_path points to the base path and filename of your icon images
(without the file extension).
Generate Launcher Icons:

In your terminal, run the following command to generate the launcher icons:

flutter pub run flutter_launcher_icons:main

This command will generate the necessary icon files for Android and
iOS platforms and update the respective configuration files.

Run Your App:


After generating the launcher icons, you can rebuild and run your app as usual:

flutter run

You should now see your custom launcher icon on your device or emulator.

Please note that generating launcher icons for iOS might require
additional setup in your Xcode project if you're building for iOS. The
flutter_launcher_icons package might guide you through these steps.

Remember to ensure that your icon images are well-designed and fit the guidelines
for app icons on different platforms to ensure a professional look for your app.

210450131503 12
SUMMER INTERNSHIP (3170001)

How to Integration 3rd party library:

Integrating a third-party library into a Flutter app involves a few general


steps. Here's a guide on how to do it:

Find and Select a Library:


Identify the third-party library that provides the functionality you need.
Search for packages on the Flutter Package Repository.

Add Dependency:
Open your pubspec.yaml file and add the package as a dependency
under the dependencies section:

dependencies:
flutter:
sdk: flutter
your_package_name: ^your_version
Replace your_package_name with the actual package name and
^your_version with the desired version or version constraint.

Run flutter pub get:


After adding the dependency, run the following command to fetch and
install the package:

flutter pub get


Import and Use the Library:
Import the library in your Dart code and use its functionality. For example:

import 'package:your_package_name/your_library.dart';

/ Use the library's classes and functions var result = YourLibrary.someFunction(); Read the
Documentation:
Each third-party library usually comes with documentation that explains
how to use its features and functions. Refer to the documentation for
usage instructions, examples, and configuration details.

Implement and Test:


Implement the library's functionality in your app and test it to ensure it works as expected.
This might involve adding widgets, calling functions, or configuring settings.

Handle Errors:
Be prepared to handle any potential errors or exceptions that might arise while using the
third-party library. Check the library's documentation for guidance on error handling.

210450131503 13
SUMMER INTERNSHIP (3170001)

Keep Up to Date:
Periodically check for updates to the third-party library. If the library has
new releases, you might want to update your app to use the latest
version to benefit from bug fixes and new features.

Check Platform-Specific Setup:


Some third-party libraries require platform-specific setup or configuration. For
example, integrating native code for Android and iOS might be necessary.
Read the library's documentation to see if additional steps are required.

Contributor Guidelines:
If you encounter issues or want to contribute to the library, refer to its GitHub
repository or other sources to understand the contribution guidelines and processes.

Remember that not all third-party libraries are created equal. Some might be very well-
maintained and documented, while others might be less active. It's essential to evaluate
the library's quality, compatibility, and support before integrating it into your app.

Api call
make an API call in Flutter using the http package. Let's consider making a simple
GET request to a hypothetical API that provides information about users.

Add Dependencies:
Open your pubspec.yaml file and add the http package as a dependency:

dependencies:
flutter:
sdk: flutter
http: ^0.13.3
Run flutter pub get to install the package.

Make an API Call:


Here's an example of making a GET request to retrieve user information from a fictional
API:

In this example, we're using the http package to fetch user information from the
JSONPlaceholder API. The fetchUsers function makes the API call and parses
the JSON response into a list of User objects. The FutureBuilder widget is used
to asynchronously display the user information in the app's UI.

Remember that in a real-world scenario, you'd need to replace the API URL with the
actual API endpoint you're working with. Additionally, error handling, loading

210450131503 14
SUMMER INTERNSHIP (3170001)

indicators, and more advanced features should be added for a


production-ready application.

What is api call?

An API call, short for Application Programming Interface call, refers to a request made
by a client application to a server's API (Application Programming Interface) to retrieve,
send, or manipulate data. APIs provide a way for different software systems to
communicate and exchange information in a standardized and structured manner.

API calls are essential for enabling interactions between different software
components, services, or systems. They allow developers to access and use
functionalities provided by external services, libraries, or platforms without needing to
understand the intricate details of how those functionalities are implemented.

Here's how an API call typically works:

Client Application: The client application (e.g., a web app, mobile app, or
server) sends a request to a server's API endpoint.

API Endpoint: The API endpoint is a specific URL provided by the server that
corresponds to a particular functionality or resource. Each endpoint performs a
specific action, such as retrieving data, updating data, or performing other operations.

Request: The client application sends an HTTP request to the API endpoint.
The request can include parameters, headers, and sometimes a request body
containing data that the server needs to process the request.

Server: The server receives the request and processes it based on the
provided endpoint and data.

Response: The server generates a response, which typically includes


the requested data or a confirmation of the performed action. The
response is sent back to the client application.
Client Handling Response: The client application receives the response
and processes the data or action as needed.
API calls are used in various contexts, such as accessing data from external
databases, integrating with third-party services (e.g., payment gateways, social
media platforms), fetching information from servers, and more. APIs enable
developers to create applications that are modular, scalable, and capable of
interacting with a wide range of services and functionalities.

What is Postman?

210450131503 15
SUMMER INTERNSHIP (3170001)

Postman is an API platform for building and using APIs. Postman simplifies each step
of the API lifecycle and streamlines collaboration so you can create better APIs—faster.

Fig 9

Bottom Navigator:

A bottom navigation bar in Flutter is a common UI component used to provide


navigation between different views or screens within an app. It typically
appears at the bottom of the screen and consists of multiple navigation items
or tabs. Each tab corresponds to a different view or screen in the app. Here's
how you can implement a bottom navigation bar in Flutter:

Create Your Screens:


First, create the screens or views that you want to navigate between. These can be
different widgets or even different classes.
Add the BottomNavigationBar Widget:
In the widget where you want to implement the bottom navigation bar,
add a BottomNavigationBar widget. This widget takes a list of
BottomNavigationBarItem as its items.

Fig 9
Run Your App:
After implementing the bottom navigation bar and the corresponding
screens, run your app to see the navigation in action.

210450131503 16
SUMMER INTERNSHIP (3170001)

Remember to handle any additional navigation requirements, such as


passing data between screens, integrating with navigation routes, and
customizing the UI to match your app's design.

List View:

In Flutter, the ListView widget is used to create a scrollable list of children. It's
a powerful widget that can accommodate a large number of items efficiently by
only rendering the items that are currently visible on the screen. There are
several types of ListView widgets available in Flutter, such as ListView.builder,
ListView.separated, and ListView.custom. Here's an overview of using the
ListView widget: Basic ListView:
The basic ListView widget is created using the ListView constructor. It's
suitable when you have a small number of fixed items.

Fig 10
Remember that ListView widgets can be customized further using
properties like scrollDirection, physics, and more. Depending on your
app's requirements and the type of items you're displaying, you can
choose the appropriate ListView constructor for your use case.

Push Replacement:

In Flutter, the Navigator.pushReplacement method is used to navigate to a new


screen while removing the current screen from the navigation stack. This is
often used when you want to replace the current screen with a new one and
prevent the user from navigating back to the original screen.

Here's how to use Navigator.pushReplacement:

Import the Required Library:


Make sure to import the material.dart library, which provides the
necessary components for working with navigation.

import 'package:flutter/material.dart';
Navigate to the New Screen:

210450131503 17
SUMMER INTERNSHIP (3170001)

Use the Navigator.pushReplacement method to navigate to the new screen and replace
the current screen with it.
Navigator.pushReplacement(
context,
MaterialPageRoute(builder: (context) =>
NewScreen()), );
Here, replace NewScreen() with the actual widget representing the
screen you want to navigate to.
Complete the Example:
Here's an example of how to use Navigator.pushReplacement in a simple Flutter app:

Fig 11
In this example, when the button in the HomeScreen is pressed, the app navigates to the
NewScreen using Navigator.pushReplacement. As a result, the HomeScreen is removed
from the navigation stack, and the user cannot go back to it using the back button.

Remember that using Navigator.pushReplacement affects the navigation stack, so


consider its implications carefully based on your app's flow and user experience.

210450131503 18
SUMMER INTERNSHIP (3170001)

2.2 My Roles and Responsibilities


As an intern, my responsibilities at Techomax Solutions Was to learn creating Android
application and develop skills of designing to build Android application using android
framework, widget, integration with libraries, The main responsibility was to ensure that
the Android application designed must appeal to the desired target audience and, as a
result, catches their attention and include a working knowledge of different android
development platform. Fulfill tasks set out by supervisors from several departments.
Attend meetings and take minutes. Perform research at a supervisor's request.

2.3 Problems Given:


Layout and UI Design:
1. Creating complex layouts and designing visually appealing user
interfaces can be challenging.
2. Challenges might include positioning widgets, handling
responsive design, and implementing custom UI components.

State Management:
1. Understanding and implementing effective state management can be tricky.
2. Learners might face issues related to sharing state between widgets,
managing app-wide states, and avoiding unnecessary rebuilds.

Debugging and Troubleshooting:


1. Identifying and resolving errors, exceptions, and unexpected
behavior can be challenging.
2. Debugging tools and techniques become essential for finding the
root causes of issues.

Navigation and Routing:


1. Navigating between screens and managing navigation stacks can
be complex.
2. Learners might encounter issues related to navigation flows, passing
data between screens, and handling navigation transitions.

App Performance:
1. Optimizing app performance to ensure smooth animations and
fast loading times can be demanding.
2. Problems might involve identifying performance bottlenecks, optimizing
widget rebuilding, and managing resources efficiently.

Platform-Specific Integrations:
1. Integrating platform-specific features and APIs can require
learning about native code and plugin integration.

210450131503 19
SUMMER INTERNSHIP (3170001)

2. Challenges might include using platform channels, accessing


device features, and handling permissions.

State Persistence:
1. Saving and restoring app state across app restarts can be challenging.
2. Issues might include implementing local storage, handling data
persistence, and managing user preferences.

Learning New Concepts and Patterns:


1. Flutter introduces new concepts and design patterns that might be
unfamiliar to learners.
2. Problems might involve understanding concepts like BLoC,
Provider, Redux, or Riverpod for state management.

Integration with Backend Services:


1. Connecting Flutter apps to backend services, APIs, and databases
can pose challenges.
2. Issues might include handling API authentication, managing API
endpoints, and handling data serialization.

210450131503 20
SUMMER INTERNSHIP (3170001)

Chapter 3: Skills Learned


3.1 About the Skill/s

Skills are the expertise or talent needed in order to do a task. Skills allow
you to do job and life skills help you through everyday tasks. There are
many different types of skills that can help you succeed at all aspects of
your life whether it is school, work, or even a sport or hobby.
Skills are what makes you confident and independent in life and are essential for success.
It might take determination and practice, but almost any skill can be learned or improved.
Set realistic expectations and goals, get organized and get learning.

3.2 How do I learnt the skill/s

To learn and acquire new skills I used following steps:

Learn by doing
Study and then practice
Spend more time practicing things I find
difficult Taking frequent breaks
Test myself
Be curious

210450131503 21
SUMMER INTERNSHIP (3170001)

Chapter 4: Overall Experience


4.1 Technical Experience

During this internship I have learns many technical knowledge as an intern.


I have developed technical skills is Mobile Application Development in Android.
Also, I improve my technical knowledge as well as gain more technical
information about my skills. As an Intern I complete given task day to day and
faces many difficulties to complete the given task.

4.2 Personal Experience

I am confident in my study ' progress and my own growth and


development. I would not have the knowledge or skills I have today if it were
not for my internship experience with my cooperating teacher: Ms. Nirali Patel,
and I look forward to where my career in education takes me in the future.

210450131503 22
SUMMER INTERNSHIP (3170001)

Conclusion
Overall, this internship was a useful experience. I have gained new knowledge,
skills in my selected domain which was Mobile Application in Android and met many
new people. I achieved several of my learning goals. I got insight into professional
practice and how work is carried out in industry. This helped me to define what skills
and knowledge I must improve in the coming time to work in industry.

210450131503 23
SUMMER INTERNSHIP (3170001)

Bibliography
https://flutter.dev
www.javatpoint.com
www.geekforgeek.com
www.tutorialspoint.com
www.ninjacode.com
www.github.com
www.youtube.com

210450131503 24

You might also like