Internship Assessment Report On: Prakash Gupta 1812210083 Under The Guidance of Er. Devendra Kumar
Internship Assessment Report On: Prakash Gupta 1812210083 Under The Guidance of Er. Devendra Kumar
On
BACHELOR OF TECHNOLOGY
In
COMPUTER SCIENCE AND ENGINEERING
(2022)
Submitted by
Prakash Gupta
1812210083
Under the guidance of
Er. Devendra Kumar
ABSTRACT
Online services like Amazon, Paytm have increased the demand of providing various
services to the user at comfort of home. This project provides a simple interface which
allows user to send clothes for laundry, make payments and maintains transaction
history of each payment. The service provider through this app will also be benefited.
The main advantage of this app over traditional way is that user can send and make
payments just sitting at home on their mobile phones.
The Firebase Realtime Database let us build rich, collaborative applications by allowing
secure access to the database directly from clients-side code. Data is persisted locally,
and even while offline, real-time events continue to fire, giving the end user a
responsive experience.
Page | 1
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
ACKNOWLEDGEMENT
It was a great opportunity and privilege for me to do my summer training and internship from
Udemy and to develop an Online Laundry System Android App using Java and Android.
I would like to thank Director of the college, Prof. (Dr.) Bhavesh Kumar Chauhan for giving
me this opportunity.
I would like to give sincere thanks to the Head of Department, Dr. Atul Kumar, Computer
Science and Engineering for his immense support and help.
I would also like to extend my thanks to Mr Devendra Kumar for his guidance in making the
presentation.
Special thanks to my training guide Tim Buchalka who mentored me throughout the process
of developing this application, thereby, enabling me to have an insight for this field of
technology.
Prakash Gupta
(1812210083)
Page | 2
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
DECLARATION
I hereby declare that the work presented in this Internship Report entitled “ONLINE
LAUNDRY SYSTEM ANDROID APP” for the partial fulfilment of the degree of Bachelor
To the best of my knowledge, this project has not been submitted to SRMGPC, AKTU or any
other institute/ university for the award of any degree.
Page | 3
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
TABLE OF CONTENT
1. Java 6-14
1.1 History 6
1.2 Versions 7
1.3 JVM, JDK and JRE 7-9
1.3.1 JVM 7
1.3.2 JDK 8
1.3.3 JRE 8
1.3.4 Difference between JVM, JDK and JRE 8-9
1.4 Java ME 9-10
1.5 Java SE 10-11
1.6 Core Java 11-12
1.6.1 Difference between core java and java 12
1.6.2 Difference between core java and advance java 12
2. Android 13-17
2.1 History 13-14
2.2 Evolution of Android 14-15
2.3 Versions 15
2.4 Features 16-17
3. Google Firebase 18-19
3.1 History 18
3.2 Features 19
3.3 Dependencies used in project 19
4. Application 20-22
4.1 Description 20-21
4.2 Screen Shots 21-22
5. Conclusion 23
6. References/Bibliography 24
7. Certificates 25
Page | 4
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
LIST OF FIGURES
Page | 5
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
Chapter – 1
JAVA
1.1 History
Java was originally designed for interactive television, but it was too advanced
technology for the digital cable television industry at the time. The history of Java starts
with the Green Team. Java team members (also known as Green Team), initiated this
project to develop a language for digital devices such as set-top boxes, televisions, etc.
However, it was best suited for internet programming. Later, Java technology was
incorporated by Netscape.
The principles for creating Java programming were "Simple, Robust, Portable,
Platform-independent, Secured, High Performance, Multithreaded, Architecture
Neutral, Object-Oriented, Interpreted, and Dynamic". Java was developed by James
Gosling, who is known as the father of Java, in 1995. James Gosling and his team
members started the project in the early '90s.
1) James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java
language project in June 1991. The small team of sun engineers called Green
Team.
2) Initially it was designed for small, embedded systems in electronic appliances like
set-top boxes.
3) Firstly, it was called "Greentalk" by James Gosling, and the file extension was .gt.
After that, it was called Oak and was developed as a part of the Green project.
4) In 1995, Oak was renamed as "Java" because it was already a trademark by Oak
Technologies.
Sun Microsystems released the first public implementation as Java 1.0 in 1996. It
promised to write once, run anywhere (WORA) functionality, providing no-cost run-
times on popular platforms.
Page | 6
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
1.2 Versions
1.3.1 JVM
JVM (Java Virtual Machine) is an abstract machine. It is a specification that provides
runtime environment in which java bytecode can be executed. JVMs are available for
many hardware and software platforms (i.e. JVM is platform dependent).
JVM stands for Java Virtual Machine that drives the Java Code. It converts
Java bytecode into machine language.
Here, Java code is compiled to bytecode. This bytecode gets interpreted on
different machines
JIT stands for a Just-in-time compiler. JIT is part of the Java Virtual
Machine. It increases the execution time
Java may be slow in execution compared to other compiler machines.
Page | 7
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
1.3.2 JDK
1.3.3 JRE
The Java Runtime Environment, or JRE, is a software layer that runs on top of a
computer’s operating system software and provides the class libraries and other
resources that a specific Java program needs to run.
The JRE combines Java code created using the JDK with the necessary libraries
required to run it on a JVM and then creates an instance of the JVM that executes the
resulting program. JVMs are available for multiple operating systems, and programs
created with the JRE will run on all of them. In this way, the Java Runtime Environment
is what enables a Java program to run in any operating system without modification.
The JDK and JRE interact with one another to create a sustainable runtime environment
that enables the seamless execution of Java-based applications in virtually any
operating system.
Page | 8
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
1.4 JAVA ME
Java Platform, Micro Edition or Java ME is a computing platform for development and
deployment of portable code for embedded and mobile devices (micro-controllers,
sensors, gateways, mobile phones, personal digital assistants, TV set-top boxes,
printers). Java ME was formerly known as Java 2 Platform, Micro Edition or J2ME.
The platform uses the object-oriented Java programming language. It is part of the Java
software-platform family. Java ME was designed by Sun Microsystems, acquired
Page | 9
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
Java ME devices implement a profile. The most common of these are the Mobile
Information Device Profile aimed at mobile devices, such as cell phones, and
the Personal Profile aimed at consumer products and embedded devices like set-top
boxes and PDAs.
1.5 JAVA SE
Java Platform, Standard Edition (Java SE) is a computing platform for development
and deployment of portable code for desktop and server environments. Java SE was
formerly known as Java 2 Platform, Standard Edition (J2SE).
The platform uses Java programming language and is part of the Java software-
platform family. Java SE defines a range of general-purpose APIs—such as Java
APIs for the Java Class Library—and also includes the Java Language
Specification and the Java Virtual Machine Specification. OpenJDK is the
official reference implementation since version 7.
The platform was known as Java 2 Platform, Standard Edition or J2SE from version
1.2, until the name was changed to Java Platform, Standard Edition or Java SE in
version 1.5. The "SE" is used to distinguish the base platform from the Enterprise
Edition (Java EE) and Micro Edition (Java ME) platforms. The "2" was originally
intended to emphasize the major changes introduced in version 1.2 but was removed in
version 1.6. The naming convention has been changed several times over the Java
version history. Starting with J2SE 1.4 (Merlin), Java SE has been developed under
the Java Community Process, which produces descriptions of proposed and final
specifications for the Java platform called Java Specification Requests (JSR) .
Page | 10
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
The following concepts are some of the major basic concepts of Java:
Java Fundamentals
OOPs Concepts
Overloading & Overriding
Inheritance with Interface and Abstract Class
Exception Handling
Page | 11
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
Collections
Multithreading
Swings
Applets
Core Java
Advanced Java
Without Core Java no one can Whereas advanced java only deals with
develop any advanced java some specialization like Database, DOM
applications. (web), networking etc.
OOP, data types, operators, Apart from the core java parts it has some
functions, loops, exception handling, specific sections like database connectivity,
threading etc. web services, servlets etc.
It uses only one tier architecture that It uses two tier architectures i.e., client-side
is why it is called as ‘stand-alone’ architecture and server side or backend
application. architecture.
Page | 12
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
CHAPTER -2
ANDROID
2.1 History
Android is a mobile operating system based on a modified version of the Linux kernel
and other open-source software, designed primarily for touchscreen mobile devices
such as smartphones and tablets. Android is developed by a consortium of developers
known as the Open Handset Alliance and commercially sponsored by Google. It was
unveiled in November 2007, with the first commercial Android device, the HTC
Dream, being launched in September 2008.
Page | 13
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
It is free and open-source software; its source code is known as Android Open-Source
Project (AOSP), which is primarily licensed under the Apache License. However most
Android devices ship with additional proprietary software pre-installed, most notably
Google Mobile Services (GMS) which includes core apps such as Google Chrome, the
digital distribution platform Google Play and associated Google Play Services
development platform.
Over 70 percent of Android smartphones run Google's ecosystem; some with vendor-
customized user interface and software suite, such as TouchWiz and later One UI by
Samsung, and HTC Sense. Competing Android ecosystems and forks include Fire OS
(developed by Amazon) or Lineage OS. However, the "Android" name and logo are
trademarks of Google which impose standards to restrict "uncertified" devices outside
their ecosystem to use Android branding.
Android, operating system for cellular telephones and tablet computers. Android began
in 2003 as a project of the American technology company Android Inc., to develop an
operating system for digital cameras. In 2004 the project changed to become an
operating system for smartphones. Android Inc., was bought by the American search
engine company Google Inc., in 2005. At Google, the Android team decided to base
their project on Linux, an open source operating system for personal computers.
The early intentions of the company were to develop an advanced operating system for
digital cameras, and this was the basis of its pitch to investors in April 2004. The
company then decided that the market for cameras was not large enough for its goals,
and five months later it had diverted its efforts and was pitching Android as a handset
operating system that would rival Symbian and Microsoft Windows Mobile.
2.2Evolution of Android
In 2007, Apple launched the first iPhone and ushered in a new era in mobile computing.
At the time, Google was still working on Android in secret, but in November of that
year, the company slowly started to reveal its plans to compete with Apple and other
mobile platforms. In a major development, Google led the formation of what was called
the Open Handset Alliance. It included phone makers like HTC and Motorola, chip
Page | 14
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
Then Google Chairman and CEO Eric Schmidt was quoted as saying, “Today’s
announcement is more ambitious than any single ‘Google Phone’ that the press has
been speculating about over the past few weeks. Our vision is that the powerful platform
we’re unveiling will power thousands of different phone models.” The public beta of
Android version 1.0 launched for developers on Nov. 5, 2007.
However, the Android 1.0 OS inside already had the trademarks of Google’s plan for
the OS. It integrated a number of the company’s other products and services, including
Google Maps, YouTube, and an HTML browser (pre-Chrome) that, of course, used
Google’s search services. It also had the first version of Android Market, the app store
that Google proudly stated would have, “dozens of unique, first-of-a-kind Android
applications.” All of these features sound pretty primitive now, but this was just the
beginning of Android’s rise in the mobile device market.
2.3 Versions
Page | 15
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
2.4 Features
Messaging
SMS and MMS are available forms of messaging, including threaded text
messaging and Android Cloud To Device Messaging (C2DM) and now
enhanced version of C2DM, Android Google Cloud Messaging (GCM) is also
a part of Android Push Messaging services. Android phones also have the ability
to send and receive RCS via the message’s app (if supported by the carrier).
Web browser
The web browser available in Android is based on the open-source Blink
(previously Web Kit) layout engine, coupled with Chromium's V8 JavaScript
engine. Then the Web Kit-using Android Browser scored 100/100 on the Acid3
test on Android 4.0 ICS; the Blink-based browser currently has better standards
support. The old web browser is variably known as 'Android Browser', 'AOSP
browser', 'stock browser', 'native browser', and 'default browser' (from the time
it was always the default). Starting with Android 4.4 KitKat, Google has begun
licensing Google Chrome (a proprietary software) separately from Android, but
usually bundled with (what most device vendors did). Since Android 5.0
Lollipop, the WebView browser that apps can use to display web content
without leaving the app has been separated from the rest of the Android
firmware in order to facilitate separate security updates by Google.
Voice-based features
Google search through voice has been available since initial release. Voice
actions for calling, texting, navigation, etc. are supported on Android 2.2
onwards. As of Android 4.1, Google has expanded Voice Actions with ability
Page | 16
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
to talk back and read answers from Google's Knowledge Graph when queried
with specific commands. The ability to control hardware has not yet been
implemented.
Multi-touch
Android has native support for multi-touch which was initially made available
in handsets such as the HTC Hero. The feature was originally disabled at the
kernel level (possibly to avoid infringing Apple's patents on touch-screen
technology at the time).[8] Google has since released an update for the Nexus
One and the Motorola Droid which enables multi-touch natively.
Connectivity
Android supports connectivity technologies including GSM/EDGE, Bluetooth,
LTE, CDMA, EV-DO, UMTS, NFC, IDEN and WiMAX.
Bluetooth
Supports voice dialling and sending contacts between phones, playing music,
sending files (OPP), accessing the phone book (PBAP), A2DP and AVRCP.
Keyboard, mouse and joystick (HID) support is available in Android 3.1+, and
in earlier versions through manufacturer customizations.
Tethering
Android supports tethering, which allows a phone to be used as a wireless/wired
Wi-Fi hotspot. Before Android 2.2, this was supported by third-party
applications or manufacturer customizations.
Page | 17
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
CHAPTER - 3
GOOGLE FIREBASE
3.1 History
Firebase evolved from Envolve, a prior start-up founded by James Tamplin and
Andrew Lee in 2011. Envolve provided developers an API that enables the
integration of online chat functionality into their websites. After releasing the
chat service, Tamplin and Lee found that it was being used to pass application
data that were not chat messages. Developers were using Envolve to sync
application data such as game state in real time across their users. Tamplin and
Lee decided to separate the chat system and the real-time architecture that
powered it. They founded Firebase as a separate company in 2011 and it
launched to the public in April 2012.
Firebase's first product was the Firebase Realtime Database, an API that
synchronizes application data across iOS, Android, and Web devices, and stores
it on Firebase's cloud. The product assists software developers in building real-
time, collaborative applications.
In May 2012, a month after the beta launch, Firebase raised $1.1 million in seed
funding from venture capitalists Flybridge Capital Partners, Greylock Partners,
Founder Collective, and New Enterprise Associates. In June 2013, the company
further raised $5.6 million in Series A funding from Union Square Ventures and
Flybridge Capital Partners.
Page | 18
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
3.2 Features
PRODUCT LIBRARY
Authentication com.google.firebase:firebase-auth:21.0.1
com.google.firebase:firebase-auth-ktx:21.0.1
Analytics com.google.firebase:firebase-analytics:20.0.0
com.google.firebase:firebase-analytics-ktx:20.0.0
Page | 19
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
CHAPTER – 4
APPLICATION
4.1 Description
WashY is an online laundry system application. The application is built for android
devices using core java as language and the cloud firestore database is used for
providing storage. From the user’s perspective, this app provides services like sending
clothes for laundry, making payment for the washing charges, and maintaining
transaction history. Also from the admin’s perspective, he/she can receive the request
of each user and collect the clothes.
The application has three kinds of user access: 1. Clients (who will send their clothes
for washing), 2. An agent (who will collect and deliver clothes).
Page | 20
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
There is separate login system for client and agent. They will get different options after
login according to their roles.
When the client logins, he will see his/her home activity which will show the list of
transactions in very brief view. Number of sent clothes, pending payments, and profile
details are also displayed. He can see all his transactions in detailed view by clicking
on each transaction item of list view. There is also a separate fragment for Send Clothes,
here user can use gestures of Drag and Drop. User can drag the clothes and drop it in
basket and then he/she needs to click the done button which will send the notification
to the agent to collect clothes.
Similarly, when the agent logins, he/she will see the requests made by clients for
collecting clothes. Agent can then respond to each request and send a notification to the
user that he/she is on the way to collect the clothes. Agent can also ping the client for
clearing pending payments.
4.2 Screenshots
This android app has clean seamless UI with all mentioned functionalities. This app can
run flawlessly on any android device. Below are some screenshots depicting how the
app executes on an android device.
Page | 21
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
Fig. 4.4: User Home Page Activity Fig. 4.5: Selecting Clothes Activity
Page | 22
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
CHAPTER - 5
CONCLUSION
The project utilizes major techniques required to build a full-scale android application
using Java and other required dependencies available in google firebase.
The main advantage of this app over traditional methods is that user have all the
facilities at comfort of home. He/ She can make payments, view previous transactions,
and request the agent to take the clothes for cleansing. Agent can respond to each
request and receive payments. User can also earn coins by watching ads and use them
to make payments.
The Firebase Realtime Database let us build rich, collaborative applications by allowing
secure access to the database directly from clients-side code. Data is persisted locally,
and even while offline, real-time events continue to fire, giving the end user a
responsive experience.
We can improve the UI, interface, add various payment methods, add discount coupon
option and deploy it on play store for public use. Various agents can create their account
to make their services available for public.
Page | 23
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
CHAPTER-6
REFRENCES/BIBLIOGRAPHY
https://en.wikipedia.org/wiki/Android_(operating_system)
https://www.java.com/en/
https://en.wikipedia.org/wiki/Java_(programming_language)
https://www.javatpoint.com/java-tutorial
https://firebase.google.com/?gclid=Cj0KCQjw8p2MBhCiARIsAD
DUFVGDpIYYRhFvQXwQJ05olnT65jdetOap92ebXA1BJNRL_u
fTALs58_EaAq55EALw_wcB&gclsrc=aw.ds
https://en.wikipedia.org/wiki/Firebase
http://firebase.googleblog.com/
https://developer.android.com/guide/topics/ui/drag-
drop#:~:text=The%20drag%2Fdrop%20process,-
There%20are%20basically&text=In%20response%20to%20the%2
0user's,for%20drawing%20the%20drag%20shadow
Page | 24
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17
CERTIFICATE
Page | 25
CSE DEPARTMENT, SRMGPC, LUCKNOW