0% found this document useful (0 votes)
63 views

Internship Assessment Report On: Prakash Gupta 1812210083 Under The Guidance of Er. Devendra Kumar

The document is an internship assessment report submitted by Prakash Gupta for a Java programming internship covering Java 11 and Java 17. The internship involved developing an online laundry system Android app using core Java and Android fragments. The app allows users to send clothes for laundry, make payments, and view transaction history using Firebase real-time database for data persistence. The report includes sections on Java, Android, Firebase, the developed application, and conclusions.

Uploaded by

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

Internship Assessment Report On: Prakash Gupta 1812210083 Under The Guidance of Er. Devendra Kumar

The document is an internship assessment report submitted by Prakash Gupta for a Java programming internship covering Java 11 and Java 17. The internship involved developing an online laundry system Android app using core Java and Android fragments. The app allows users to send clothes for laundry, make payments, and view transaction history using Firebase real-time database for data persistence. The report includes sections on Java, Android, Firebase, the developed application, and conclusions.

Uploaded by

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

Internship Assessment Report

On

Java Programming Masterclass covering


Java 11 & Java 17

Submitted in partial fulfilment of the


requirements for the award of the degree
of

BACHELOR OF TECHNOLOGY
In
COMPUTER SCIENCE AND ENGINEERING
(2022)
Submitted by

Prakash Gupta
1812210083
Under the guidance of
Er. Devendra Kumar

SHRI RAMSWAROOP MEMORIAL GROUP OF


PROFESSIONAL COLLEGES, LUCKNOW
Affiliated to
Dr. APJ ABDUL KALAM TECHNICAL UNIVERSITY,
LUCKNOW.
Java Programming Masterclass covering Java 11 & Java 17

ABSTRACT

The internship certification course on “Java Programming Masterclass covering


Java 11 & Java 17” is done from Udemy. This internship was ended with a successful
project. The project entitled Online Laundry System Android App Using Core Java,
designed on Android with Core Java is an original work carried out under the guidance
of Tim Buchalka. The project is aimed to learn the basics of Java, Android fragments,
list views, manifest files, xml, and firebase.

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 convey my regards to SHRI RAMSWAROOP MEMORIAL GROUP OF


PROFESSIONAL COLLEGES for granting permission and necessary administrative
support to take up the training.

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

of Technology, submitted in the Department of Computer Science and Engineering of SHRI

RAMSWAROOP MEMORIAL GROUP OF PROFESSIONAL COLLEGES is the


record of student’s own work carried out by me. It is an authentic record of my work

during the summer training period at Udemy.

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.

Date: 15/11/2021 Prakash Gupta


Place: Lucknow (1812210083)

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

S NO. DESCRIPTION FIG NO. PAGE NO

1 Versions of Java 1.1 8

2 Components of JDK 1.2 10

3 Components of Java SE 1.3 12

4 Features of Android 2.1 15

5 Versions of Android 2.2 18

6 Features of Firebase 3.1 23

7 Splash Screen of the App 4.1 25

8 New User Registration 4.2 26

9 Login Activity 4.3 26

10 User Home Page Activity 4.4 27

11 Selecting Clothes Activity 6.4 27

12 Send Clothes Confirmation Dialog 6.5 27

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.

Currently, Java is used in internet programming, mobile devices, games, e-


business solutions, etc. Following are given significant points that describe the history
of Java.

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

Fig. 1.1: Versions of Java

1.3 JVM, JDK and JRE

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

The Java Development Kit (JDK) is a distribution of Java Technology by Oracle


Corporation. It implements the Java Language Specification (JLS) and the Java Virtual
Machine Specification (JVMS) and provides the Standard Edition (SE) of the Java
Application Programming Interface (API). It is derivative of the community driven
OpenJDK which Oracle steward. It provides software for working with Java
applications. Examples of included software are the virtual machine, a compiler,
performance monitoring tools, a debugger, and other utilities that Oracle considers
useful for a Java programmer.

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.

1.3.4 Difference between JDK, JRE and JVM

Java Virtual Machine (JVM)


It is an abstract computing machine that enables a computer to run a Java program. An
instance of a JVM is an implementation running in a process that executes a computer
program compiled into Java bytecode. JVM performs tasks like loading byte code, code
verification, code execution, etc.

Page | 8
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17

Java Runtime Environment (JRE)


It is a software package (a physical entity) that contains necessary artifacts required to
run a Java program. It includes JVM implementation together with an implementation
of Java Class Library (rt.jar). Hotspot is the JVM implementation for Oracle Java.

Java Development Kit (JDK)


It is a superset of a JRE and contains tools for Java programmers, e.g. javac compiler,
jconsole, jheap, jps, jvisualvm etc.

Fig. 1.2: Components of JDK

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

by Oracle Corporation in 2010, the platform replaced a similar technology, Personal


Java. Originally developed under the Java Community Process as JSR 68, the different
flavours of Java ME have evolved in separate JSRs. Oracle provides a reference
implementation of the specification, but has tended not to provide free binary
implementations of its Java ME runtime environment for mobile devices, rather relying
on third parties to provide their own.

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

Fig. 1.3: Components of Java SE

1.6 CORE JAVA


The word Core describes the basic concept of something, and here, the phrase 'Core
Java' defines the basic Java that covers the basic concept of Java programming
language. We all are aware that Java is one of the well-known and widely used
programming languages, and to begin with it, the beginner has to start the journey with
Core Java and then towards the Advance Java. The ocean of Java is too deep to learn,
i.e., as much you learn more, you will know its depth. Java is a platform-independent
and robust programming language. The principle followed by Java is WORA that
says Write Once, Run Anywhere. The programming language is quite simple and easy
to understand. But one should know that Core Java is not different from Java. Java is
complete in itself, but for the beginners, it is natural that the beginner must begin with
the core concepts of Java. In actual, Java has different editions, where Core Java is one
of the parts of an edition.

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

1.6.1 Difference JAVA and Core JAVA

Java Core Java

It consists of J2SE, J2EE and J2ME. It consists only of J2SE.

It is used only to develop desktop and


It is used to develop applets and
server-based applications.
applications.

It cannot be used for developing


It can be used for mapping
applications on embedded systems or
applications on embedded systems.
mobiles.

It has continuous contribution from It is not Community-driven.


industry experts, Java developers
and other open-source organisations.

1.6.2 Difference JAVA and Core JAVA

Core Java
Advanced Java

To develop general purpose To develop online application and mobile


applications. application.

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

Fig. 2.1: Features of 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

manufacturers such as Qualcomm and Texas Instruments, and carriers including T-


Mobile.

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

Fig. 2.2: Versions of Android

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).

 Auto Correction and Dictionary


Android Operating System has an interesting feature called Auto Correction.
When any word is misspelled, then Android recommends the meaningful and
correct words matching the words that are available in Dictionary. Users can
add, edit and remove words from Dictionary as per their wish.

 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.

 Streaming media support


RTP/RTSP streaming 3GPP PSS, ISMA), HTML progressive download. Adobe
Flash Streaming (RTMP) and HTTP Dynamic Streaming are supported by the
Flash plugin. Apple HTTP Live Streaming is supported by RealPlayer for
Android, and by the operating system since Android 3.0 (Honeycomb).

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.

 In 2014, Firebase launched two products. Firebase Hosting and Firebase


Authentication. This positioned the company as a mobile backend as a service.

Page | 18
CSE DEPARTMENT, SRMGPC, LUCKNOW
Java Programming Masterclass covering Java 11 & Java 17

3.2 Features

Fig. 3.1: Features of Firebase

3.3 Dependencies used in project

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

Cloud Firestore com.google.firebase:firebase-firestore:24.0.0


com.google.firebase:firebase-firestore-ktx:24.0.0

Firebase installations com.google.firebase:firebase-installations:17.0.0


com.google.firebase:firebase-installations-
ktx:17.0.0

Cloud Storage for Firebase com.google.firebase:firebase-storage:20.0.0


com.google.firebase:firebase-storage-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.

Fig. 4.1: Splash Screen of the App

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.

Fig. 4.2: New User Registration Fig 4.3: Login Activity

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

Fig. 4.6: Send Clothes Confirmation Dialog

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

You might also like