PADMABHOOSHAN VASANTRAODADA PATIL INSTITUTE
OF TECHNOLOGY, BUDHGAON
An Internship Report
Submitted by
Mr. SHUBHAM SHRIKANT GHODAKE. (ROLL.NO. 4107)
Under the Guidance of
Mr. B. S. Patil
DEPARTMENT OF INFORMATION TECHNOLOGY
2020-2021
ACKNOWLEDGEMENT
First of all, I am grateful to the PVPIT, Budhgaon to include internship programme in
academics for us. I also thank Kreativan Design and IT Solutions Private Limited for recruit
me as an intern and creating such a wonderful environment for learning both soft and hard
skills.
I express deepest gratitude towards our guide Prof. B. S. Patil & other staff members of
Information Technology Department for their support, help and assistance which they extended
as and when required.
In my internship at Kreativan Design and IT Solutions Private Limited, I was mentored by
Tapan Kanchankoti, Director at Kreativan Design and IT Solutions Private Limited. He has all
provided a huge amount of his precious time and effort for me. I feel really lucky to be able to
work under their direction.
I also take this opportunity to express a deep sense of gratitude to all the employees of
Kreativan Design and IT Solutions Private Limited for presenting us such amazing experience.
They are all really wonderful people, and I will never forget these days of mine at Kreativan
Design and IT Solutions Private Limited.
ABSTRACT
I carried out my internship at Kreativan Design and IT Solutions Private Limited which is
Product Design and IT Service provider. It offers internship opportunities to the students in
need of education about Product Design Engineering, Web Development, Software
Development and other related Services like Marketing, Training and procurement Internship
is an opportunity to relate what has been covered in class and what is applicable in the field in
an operational environment.
I joined Kreativan Design and IT Solutions Private Limited as an Android Developer Intern on
10th December, 2020 for a period of 6 Months. In this report, I have highlighted the experience
and skills I gained, challenges that I faced and actions taken in solving the problems during my
training.
This report contains the work done during the internship period. The report shows an overview
of the activities done by me during the period of internship such as learnings, task done and
project contributions in details. Internship opportunity provides the students a great chance to
relate their theoretical knowledge with the competitive and tough real job market environment.
Moreover, if the internship period is within the bachelor program and the students have to
return to the academia after completing it, the skills that they have developed during the
internship help them to gain a sounder academic result.
In conclusion, this was an opportunity to develop and enhance skills and competencies in my
career field which I actually achieved.
INDEX
Chapter Page
No. Title No.
1 Introduction 1
1.1 Overview of The Industry 1
1.2 Company Profile 1
1.3 About the Company Owners 1
1.4 Corporate Overview 2
2 Project Learning 3
2.1 Android Studio 3
2.2 XML 4
2.3 Kotlin 5
2.4 Firebase 6
2.5 Git 6
2.6 Github 7
2.7 Payu Payment Gateway 8
2.8 Figma 10
3 Project Contribution 11
Construction Cost and Material Estimation
3.1 11
Android Application
3.2 MCQ Based Exam Android Application: 13
4 Conclusion 15
5 References 16
2020-21
CHAPTER 1: INTRODUCTION
1.1. Overview of the Industry -
This is a start-up company in the field of design services for the sectors like Automobile
research and development, concept to actual design services, reverse engineering (Non-
Parametric to Parametric) and Analysis. It also provides IT solutions for Custom software
development, Website design and development, Animation, flash, and graphics, Desktop
application development, E-commerce solutions, Matrimonial, MLM, classifieds websites,
Internet security consultancy, Product maintenance and support, Software testing, multilingual
support and Product enhancement.
1.2 Company Profile -
They are young and vibrant organization established in year of 2020 by a group of
experienced engineers. The fundamental idea behind the KREATIVAN DESIGN AND IT
SOLUTIONS PVT.LTD. is to design and deliver the innovative products to our customers
globally with flawless performance. A passion for innovation, high-end research and
development focuses on understanding the client needs helps us in delivering solutions within
stipulated time-frame.
1.3 About the Company Owners –
Tapan kanchankoti is the director of Kreativan Design And IT Solutions Private
Limited. He has done Product Design for Automotive Interior Trims Plastics Components
Including Feasibility Studies, B Side Attachments and Drawing. He has proficiency in working
with Catia V5, also having knowledge for plastic part manufacturing, tooling feasibility and
feasibility with respect to environment data. He has worked on part development from class A
surface, Dump to parametric conversion, Creation of basic 2D drawing of parts as per customer
requirement, Clash analysis as per requirement, knowledge of DFM, UG-NX and CREO
PARAMETRIC 4.
P.V.P.I.T. Budhgaon 1|Page
2020-21
1.4 Corporate Overview -
Kreativan is a strategy and innovation consulting firm helping companies increase
growth and profitability. Company collaborate with their clients to build innovative products
relevant to their business model.
1.4.1 Vision
To be recognized as a world-class design and IT product consultants in the field of
research and development.
1.4.2 Strategy
To help our customers and our people continually innovate and provide them high end
product solutions.
P.V.P.I.T. Budhgaon 2|Page
2020-21
CHAPTER 2: PROJECT LEARNING
2.1 Android Studio
Android Studio is the official Integrated Development Environment (IDE) for Android app
development, based on IntelliJ IDEA. On top of IntelliJ's powerful code editor and developer
tools, Android Studio offers even more features that enhance your productivity when building
Android apps, such as:
➢ A flexible Gradle-based build system
➢ A fast and feature-rich emulator
➢ A unified environment where you can develop for all Android devices
➢ Apply Changes to push code and resource changes to your running app without
restarting your app
➢ Code templates and GitHub integration to help you build common app features and
import sample code
➢ Extensive testing tools and frameworks
➢ Lint tools to catch performance, usability, version compatibility, and other problems
➢ C++ and NDK support
➢ Built-in support for Google Cloud Platform, making it easy to integrate Google Cloud
Messaging and App Engine.
Project Structure:
Each project in Android Studio contains one or more modules with source code files and
resource files. Types of modules include:
➢ Android app modules
➢ Library modules
➢ Google App Engine modules
By default, Android Studio displays your project files in the Android project view. This view
is organized by modules to provide quick access to your project's key source files.
P.V.P.I.T. Budhgaon 3|Page
2020-21
All the build files are visible at the top level under Gradle Scripts and each app module contains
the following folders:
➢ Manifests: Contains the AndroidManifest.xml file.
➢ Java: Contains the Java source code files, including JUnit test code.
➢ Res: Contains all non-code resources, such as XML layouts, UI strings, and bitmap
images.
The Android project structure on disk differs from this flattened representation. To see the
actual file structure of the project, select Project from the Project dropdown.
2.2 XML -
XML stands for Extensible Markup Language, which gives us a clue to what it does.
A markup language is slightly different from a programming language. Whereas a
programming language (C#, C++, Java, Kotlin, Python, BASIC) will allow you to define
behaviours, interactions, and conditions; a markup language is used more to describe data, and
in this case, layouts. Programming languages create dynamic interactions, whereas markup
languages generally handle things like static user interfaces.
XML describes the views in your activities, and Java tells them how to behave. To make
changes to the layout of your app then, you have two main options.
The first is to use the Design view. Open up the activity_main.xml file in Android Studio and
get your first introduction to XML. You’ll notice there are two tabs at the bottom of that
window: Design and Text. The Text view will show you the actual XML code, but the Design
view will let you manually edit the layout by dragging and dropping elements into the render
of your activity.XML files can also help store strings. Using the Design view is easier for
beginners, though it can lead to complications. For one, you will run into the limitations of
XML early on when the designer refuses to let you drop items into specific places. Without the
knowledge of why, this can make designing your app an exercise in frustration!
Sometimes XML will be used to describe types of data other than views in your apps; acting
as a kind of index that your code can refer to. This is how most apps will define their color
palettes for instance, meaning that there’s just one file you need to edit if you want to change
the look of your entire app. You can find this information in the colors.xml file, located in app
> resources > values > colors.xml, which contains tags that assign different names to various
color codes:
<color name=”colorPrimary”>#008577</color>
P.V.P.I.T. Budhgaon 4|Page
2020-21
You can then refer to this tag subsequently in your Java code or your XML code to refer to
that particular hue.
Another alternative use of XML is in the Android Manifest (AndroidManifest.xml). This
holds a lot of data describing your app, like the label (the app’s name), the icon, and instructions
about which activities to load first. This helps launchers display the app correctly on the home
screen, and it’s also used by app stores.
2.3 Kotlin-
Kotlin is a general purpose, free, open source, statically typed “pragmatic” programming
language initially designed for the JVM (Java Virtual Machine) and Android that combines
object-oriented and functional programming features. It is focused on interoperability, safety,
clarity, and tooling support. Versions of Kotlin targeting JavaScript ES5.1 and native code
(using LLVM) for a number of processors are in production as well.
Kotlin originated at Jet Brains, the company behind IntelliJ IDEA, in 2010, and has been open
source since 2012. The Kotlin team currently has more than 90 full-time members from Jet
Brains, and the Kotlin project on GitHub has more than 300 contributors. Jet Brains uses Kotlin
in many of its products including its flagship IntelliJ IDEA.
Certain Android APIs, like Android KTX, are Kotlin-specific, but most are written in Java and
can be called from either Java or Kotlin. Kotlin’s interoperability with Java is core to its growth.
It means that you can call into Java code from Kotlin and vice-versa, leveraging all of your
existing Java libraries. Kotlin’s popularity results in a nicer development experience on
Android, but development of the Android framework continues with both Kotlin and Java in
mind. Kotlin's interoperability with Java means that you don’t have to adopt Kotlin all at once.
You can have projects with both Kotlin and Java code.
Kotlin Features:
➢ Kotlin is Open-Source.
➢ Kotlin Supports Full Java Interoperability.
➢ Kotlin Comes with Lazy-Loading Feature.
➢ Data Classes in Kotlin.
➢ Collection Filtering.
➢ Extension Functions.
➢ Reduces Crashes at Runtime.
➢ Smart Cast Function.
P.V.P.I.T. Budhgaon 5|Page
2020-21
2.4 Firebase –
Firebase is a mobile- and web application development platform, backed by Google, to help
developers deliver richer app experiences. Firebase manages its own infrastructure with a nice
set of tools to simplify the workflow of the developer by providing them with development kits
and an online dashboard. These toolkits are interconnected, scalable and integrable with third
party software to overcome complex challenges with standard building blocks.
The platform consists of a great set of development tools. The Realtime Database and Cloud
Firestore can stock document-structured data and synchronize the corresponding apps in
milliseconds whenever a data transformation occurs. This means that both the app and its
database listen to each other, providing the user with reactive app experiences. And
Firebase Cloud Functions can even extend this functionality. These functions allow the
developer to write backend code to respond to events happening in the Firebase platform
without having to deal with any servers.
For example, a Cloud Function can send a notification to the app whenever something
is happening in the database. Pretty neat, right? And there's more. With
Firebase Authentication you can verify users through both social and e-mail logins and
manage them securely. Firebase Hosting can deploy both static and dynamic content to web
apps and Cloud Storage can accumulate and serve a huge number of files. Last but not least,
there's ML Kit. This module brings machine learning to your app with ready-to-use APIs and
custom models using Tensor Flow Lite, an open-source machine learning platform by Google.
2.5 Git –
Git is a free and open-source version control system, originally created by Linus Torvalds in
2005.Unlike older centralized version control systems such as SVN and CVS, Git is distributed:
every developer has the full history of their code repository locally. This makes the initial clone
of the repository slower, but subsequent operations such as commit, blame, diff, merge, and
log dramatically faster.
Git also has excellent support for branching, merging, and rewriting repository history, which
has led to many innovative and powerful workflows and tools. Pull requests are one such
popular tool that allow teams to collaborate on Git branches and efficiently review each other’s
code. Git is the most widely used version control system in the world today and is considered
the modern standard for software development.
P.V.P.I.T. Budhgaon 6|Page
2020-21
Here is a basic overview of how Git works:
➢ Create a "repository" (project) with a git hosting tool (like Bitbucket)
➢ Copy (or clone) the repository to your local machine
➢ Add a file to your local repo and "commit" (save) the changes
➢ "Push" your changes to your main branch
➢ Make a change to your file with a git hosting tool and commit
➢ "Pull" the changes to your local machine
➢ Create a "branch" (version), make a change, commit the change
➢ Open a "pull request" (propose changes to the main branch)
➢ "Merge" your branch to the main branch
2.6 GitHub –
At a high level, GitHub is a website and cloud-based service that helps developers store and
manage their code, as well as track and control changes to their code. To understand exactly
what GitHub is, you need to know two connected principles:
➢ Version control
➢ Git
GitHub is a for-profit company that offers a cloud-based Git repository hosting service.
Essentially, it makes it a lot easier for individuals and teams to use Git for version control and
collaboration.
GitHub’s interface is user-friendly enough so even novice coders can take advantage of Git.
Without GitHub, using Git generally requires a bit more technical savvy and use of the
command line.
GitHub is so user-friendly, though, that some people even use GitHub to manage other types
of projects – like writing books.
Additionally, anyone can sign up and host a public code repository for free, which makes
GitHub especially popular with open-source projects.
P.V.P.I.T. Budhgaon 7|Page
2020-21
2.7 PayU Payment Gateway –
PayU is the best payment gateway to accept online payments with minimal development effort,
easy sign-up, and quick onboarding process. You can start accepting payments securely and
seamlessly within your iOS, Android or Windows app, within minutes, with our 100% online
hassle-free onboarding process. PayU (earlier PayUmoney) is more than just a payment
gateway. It offers a variety of other products such as PayU Buttons (earlier PayUmoney
buttons), Payment links (earlier PayUmoney payment links), Excel Plugin (earlier PayUmoney
Excel Plugin), etc., that could help you in managing your payments better!
Most Secure Payment Gateway in India
Be it transactions through web pages or mobile, PayU follows all security protocols to ensure
that all transactions are 100% secure. It keeps all your data safe.
What Is A Payment Gateway?
A payment gateway is a technology or third party used by all (small, medium and big)
businesses that takes money from the customers and settles it in the bank account of the
business owners. It works as the middleman between customers and merchants. There are many
payment gateways in India. However, PayU is the most popular and leading the charts.
How Does A Payment Gateway Work? What Are Its Typical Transaction Processes?
➢ The customer pays by entering card details.
➢ PayU Payment Gateway securely sends card data to the acquiring bank.
➢ The acquiring bank then sends details to the issuing bank for approval.
➢ The acquiring bank performs fraud check and sends the approval or decline message to
the acquiring bank.
➢ The acquiring bank then sends approval or decline message to the payment gateway,
who then transmits the message to the merchant.
➢ If the payment is approved, the acquiring bank collects the payment amount from the
issuing bank and holds the fund in the merchant account.
➢ The funds are then transferred to the merchant’s bank account from the payment
solution provider. This is also known as settlement.
P.V.P.I.T. Budhgaon 8|Page
2020-21
What to Consider When Choosing A Payment Gateway?
Here are a few key pointers to consider when choosing a payment gateway for your business:
➢ More than just a payment gateway – It should offer more products such as payment
links, button, creating website and help you grow!
➢ Easy Sign-Up & Quick Onboarding
➢ Higher Success Rates with Seamless Checkout Experience
➢ Easy to Integrate API
➢ Support All Payment Options with International Payments + EMI Options
➢ Highly Secure - PCI-DSS Compliant, 128-bit SSL Encryption, Tokenization, Fraud
Prevention
➢ Powerful Dashboard for Real-Time Tracking
What Are the Benefits of Using PayU Payment Gateway?
Merchants that use PayU as Payment Gateway:
➢ Retain the focus of their customers on the products/services as PayU offers a completely
redirection-less checkout experience known as the Bolt Checkout.
➢ Have a better success rate in transactions because of features such as the Saved Cards
option.
➢ Have safe and secure transactions as PayU is PCI-DSS compliant with 128-bit
encryption.
All Payment Options Are Supported.
Another reason why PayU is the best Indian payment gateway is that it gives maximum
payment mode options to your customers, thus, increasing your success rate and giving them a
smooth checkout experience. Various payment modes PayU supports are:
➢ Credit/Debit Card: Visa, MasterCard, Rupay, AMEX, Diners, International Cards.
➢ Net banking from top banks such as SBI, HDFC, AXIS, ICICI, etc.
➢ NEFT/RTGS/IMPS, UPI, EMI, Tez, LazyPay.
➢ E-Wallets such as Paytm, JioMoney, Mobikwik, Airtel Money, FreeCharge, Ola
Money and PayZapp.
P.V.P.I.T. Budhgaon 9|Page
2020-21
2.8 Figma –
Figma is a vector graphics editor and prototyping tool which is primarily web-based, with
additional offline features enabled by desktop applications for macOS and Windows. The
Figma Mirror companion apps for Android and iOS allow viewing Figma prototypes in real-
time on mobile devices. The feature set of Figma focuses on use in user interface and user
experience design, with an emphasis on real-time collaboration.
Figma is an interface design application that runs in the browser but it’s actually much more
than that. I would go so far as to say it’s probably the best application for team-based
collaborative design projects. Let’s take a look!
Figma gives you all the tools you need for the design phase of the project, including vector
tools which are capable of fully-fledged illustration, as well as prototyping capabilities, and
code generation for hand-off.
P.V.P.I.T. Budhgaon 10 | P a g e
2020-21
CHAPTER 3. PROJECT CONTRIBUTION
3.1. Construction Cost and Material Estimation Android Application:
3.1.1. Problem Statement:
Make An android application which calculate the overall material estimation
and cost estimation and create a PDF file.
3.1.2. Technologies Used:
➢ Android Studio IDE
➢ Firebase
➢ Git and Github
➢ Payu Payment Gateway
➢ Figma, Emulator
3.1.3. Software and hardware Requirements:
A) Software Requirements-
➢ Android Studio v4.1.1 or later
➢ Android Operating system v5.0
➢ Git
➢ Figma
B) Hardware Requirements
➢ Processor - Intel i5 (2.1Ghz) or higher / AMD A10 (2.1Ghz) or higher.
➢ RAM - 8 GB DDR4 or bigger.
➢ Storage- 4GB or bigger.
3.1.4. My Contribution:
1. Connect Android Studio to Git and GitHub.
I have a team of four members including me and to work with android
studio in a group firstly we need to connect a android studio to a centre
repository, from this centre repository every team member who wants
the updated files can pull the files easily and who want to push the data
can push their files to repository.
P.V.P.I.T. Budhgaon 11 | P a g e
2020-21
We first need to connect all our machines to git which is version control
software which only store local copies of our project files to create a
centre repository we choose to use GitHub which is web-based software
and used to create repository and host a content. We have an option to
make a project private or public. We choose the private.
2. Flow of Application:
In the Application the first challenge is that this application not contains
any type of images and videos, it only contains the input files and output
filed and the we need the result of the output fields in another activity,
so to make an application to create an idea our team decides to make a
design and prototype with the help of Figma.
We divide the task and based on our discussion the two members of our
team worked on the application designing and two members which
include me worked to implement this design in xml.
3. Kotlin Coding:
We have done the application with the use of kotlin language. We decide
to use kotlin instead of java because kotlin is a new language and also
kotlin is a preferred language to create an android app. After making
every xml files I need to configure and handle their input and outputs in
the kotlin code.
4. PayU Payment Gateway Configuration:
After Making a full working android app the company wants to make it
subscription-based application which is free for first 18 days and then
the user needs to pay for the application in monthly basis. So, I have a
task to integrate a payment gateway in an Application. To make a
payment gateway I used the documentation of PayU payment gateway.
P.V.P.I.T. Budhgaon 12 | P a g e
2020-21
3.2. MCQ Based Exam Android Application:
3.2.1. Problem Statement:
Make An android application which take an MCQ based exam and admin have
access to all the correct answer and the result of every student, the test is not
accessible after admin close the test.
3.2.2. Technologies Used:
➢ Android Studio IDE
➢ Firebase
➢ Git and Github
➢ Figma, Emulator
3..3. Software and hardware Requirements:
A) Software Requirements-
➢ Android Studio v4.1.1 or later
➢ Android Operating system v5.0
➢ Git
➢ Figma
B) Hardware Requirements
➢ Processor - Intel i5 (2.1Ghz) or higher / AMD A10 (2.1Ghz) or higher.
➢ RAM - 8 GB DDR4 or bigger.
➢ Storage- 4GB or bigger.
3.1.4. My Contribution:
1. Connect Android Studio to Git and GitHub.
I have a team of four members including me and to work with android
studio in a group firstly we need to connect a android studio to a centre
repository, from this centre repository every team member who wants
the updated files can pull the files easily and who want to push the data
can push their files to repository.
We first need to connect all our machines to git which is version control
software which only store local copies of our project files to create a
centre repository we choose to use GitHub which is web-based software
P.V.P.I.T. Budhgaon 13 | P a g e
2020-21
and used to create repository and host a content. We have an option to
make a project private or public. We choose the private.
2. Kotlin Coding:
We have done the application with the use of kotlin language. We decide
to use kotlin instead of java because kotlin is a new language and also
kotlin is a preferred language to create an android app. After making
every xml files I need to configure and handle their input and outputs in
the kotlin code.
3. Firebase Connectivity:
The application data needs to be store in a database so we choose a
cloud-based database offered by google which is called the firebase.
This firebase database as a service provides various solutions to our
application like firebase functions, cloud firestore, Realtime database
and many other related services.
I have a task to connect a android studio to firebase to Store data so I
read the firebase documentation and decided to store the data in cloud
firestore.
P.V.P.I.T. Budhgaon 14 | P a g e
2020-21
CHAPTER 4: CONCLUSION
During this Internship, I have learnt a lot about the technology I was working on for the
project to solve real world problems. This opportunity has given a new way to look at problems
and a new approach to solve them. I am motivated to work in this technology.
The project showed me how to apply your theoretical knowledge to solve real world
problems and work under the constant pressure of time, how to manage different activities,
how to prioritize tasks, how to work in team and guide others.
While working on the project with my teammates I learnt more to communicate and
understand my colleagues on the project development. This was a great opportunity to learn
from my peers and also taught them what I know better. This internship is being very helpful
for my professional life as it has given an amazing and positive jump start in my career.
P.V.P.I.T. Budhgaon 15 | P a g e
2020-21
CHAPTER 5: REFERENCES
Websites:
➢ Android Studio: https://developer.android.com/docs
➢ Activities:https://developer.android.com/guide/components/activities/intro-activities
➢ Fragments: https://developer.android.com/guide/fragments
➢ Navigation: https://developer.android.com/guide/navigation
➢ Intents: https://developer.android.com/guide/components/intents-filters
➢ Services: https://developer.android.com/guide/components/services
➢ User Data and Identity: https://developer.android.com/guide/user-data
➢ Stack Overflow: https://stackoverflow.com/
➢ Firebase:
https://firebase.google.com/docs?gclid=CjwKCAjwn6GGBhADEiwAruUcKqY10XB
2Kd7j1qJEAWQCx5MWt7jIMt4JAJ3W7hfqfUQ8r6bjLJVTthoCGr4QAvD_BwE&g
clsrc=aw.ds
➢ Google’s Firestore: https://firebase.google.com/docs/firestore
➢ Git: https://git-scm.com/
➢ Github: https://github.com/
➢ XML: https://www.w3schools.com/xml/xml_whatis.asp
➢ Kotlin: https://kotlinlang.org/
➢ Figma: https://www.figma.com/best-practices/guide-to-developer-
handoff/components-styles-and-documentation/
P.V.P.I.T. Budhgaon 16 | P a g e