FindPet App
Introduction
Currently, technology is quite advanced, and people are increasingly connected. Imagine that you have a pet, and it needs a bath. Would you prefer to call, schedule, and take the pet there, or do all of this in the palm of your hand and let the pet shop take care of the rest?
These days, it's unlikely that you would use your smartphone to make a call. Messaging apps are much more direct, fast, and interference-free. The proposal of FindPet is to connect you with the pet shop directly and quickly, allowing you to, for example, request a bath for your pet right from your mobile device.
This work is divided into four chapters. The first chapter provides an introduction to the topic, project justification, and objectives. The second chapter covers all the technologies used. The third chapter presents the entire project development, from the database to the finished screens. Finally, the fourth and last chapter concludes the work with conclusions and recommendations for future projects.
Justification
Given the importance of smartphones today, businesses tend to adapt to the new era of technology by integrating it into their day-to-day operations. Many pet shops lack a means to do this since they still use manual processes that take time.
For a pet shop owner, speed in service is crucial for customer satisfaction, as many customers expect service providers to be quick. The best way to achieve this is to automate manual processes, such as recording customer addresses, managing animal breeds, or even taking note of the customer's name. FindPet will do this with the help of the Firebase database, becoming a secure and reliable system. With FindPet, the user will have speed and convenience in an easy and intuitive system for simple handling.
Objectives
Below are the objectives of the project.
General Objective
To develop an application to bring speed, fluidity, and agility to customer service.
Specific Objectives
- Enhance knowledge in Java programming.
- Improve mobile app development skills.
- Produce a high-quality application.
- Assist pet shop owners and benefit customers with quick service.
Technologies Used
Android Studio
Android Studio is an Android development environment based on IntelliJ IDEA, offering an expanded model for Google services and various device types. It features a rich layout editor with theme editing support and Lint tools for performance testing, usability, version compatibility, and other issues.
The main Android Studio window consists of various logical areas, including the toolbar for performing various actions, such as running apps and launching Android tools; the navigation bar for project navigation and file opening; the editor window, where you create and modify code; and the status bar, which shows project and IDE status.
Each project in Android Studio contains modules with source code and resources, including Android app modules, library modules, and Google App Engine modules.
By default, Android Studio displays project files in the Android project view, organized by modules for quick access to essential project source files.
Java
In 1991, engineers at Sun Microsystems were tasked with creating a new language for small devices like TV remotes, phones, ovens, and refrigerators. This language was to enable these devices to communicate with each other and generate tiny, highly reliable code that could run on various different devices. The result of this project was Java, which has become one of the most widely used programming languages in the world.
Java is an object-oriented language that requires developers to define and access object properties, such as color, size, weight, and density. Objects can receive messages, allowing you to inquire about their properties or create and manipulate various objects for different purposes in an application.
Java is a statically typed language, which means that you must declare the data type of each variable. For example, if a variable is of type String, you cannot store data that is not a string in it.
Android
The Android operating system is an open-source software developed to run on a wide range of devices with different characteristics. Its primary goal is to create a platform where developers, operators, and manufacturers can bring their ideas and innovations together to improve the user experience.
Firebase
Firebase is a mobile and web application development platform developed by Firebase, Inc. in 2011 and acquired by Google in 2014. Firebase offers various tools for application development and management, including AdMob, AdWords, Analytics, Database, Dynamic Links, Hosting, Indexing, Invites, Messaging, Notifications, Realtime Database, Test Lab, and more. It supports user authentication via email, Facebook, GitHub, Google Sign-In, and Twitter, and it features a NoSQL database to store data in JSON format.
Google Maps API
Google Maps API is a public service provided by Google, Inc. to integrate Google Maps into mobile, web, and desktop applications. Google Maps offers various APIs for different applications, including Google Earth API, Google Maps Data API, and Google Static Maps API.
Adobe Experience Design
Adobe Experience Design, also known as Adobe XD, is an application developed by Adobe Systems to help design professionals organize their workflow for creating and prototyping mobile and desktop applications. It is part of the Adobe Creative Cloud package and is distributed for free with some limitations.
Summary of the Chapter
In this chapter, we have presented the technologies used to develop the mobile application. The Android operating system was chosen for its popularity and widespread use. Android Studio, a popular integrated development environment, was selected for development, and Java was chosen as the programming language.
Additional integrations include Firebase for remote database connections and the Google Maps API for map integration. Adobe Experience Design was chosen for its simplicity and speed in creating illustrations for the application.
Development
Requirements Analysis
Functional Requirements
Requirement | Description |
---|---|
RF01 - Location | Specification: The system must determine the users' location using GPS (Global Positioning System). |
RF02 - User Registration | Specification: The system should allow user registration with mandatory data. |
RF03 - Animal Registration | Specification: The system should enable the registration of animals with mandatory data. |
RF04 - Address Registration | Specification: The system should allow user address registration. |
RF05 - Predefined Services | Specification: The system will include predefined services and calculate the service's cost when requested. |
RF06 - Service History | Specification: The system will display the history of services. |
Non-Functional Requirements
Name | Description | Constraint |
---|---|---|
RNF01 - Internet | The user must have 24/7 internet access, every day of the week. | Performance |
RNF02 - Programming Language | The software should be developed using the Java programming language. | Development Efficiency |
RNF03 - Operating System | The system must be developed for Android. | Functionality |
RNF04 - IDE (Integrated Development Environment) | The software should be developed in the Android Studio IDE. | Development Efficiency |
RNF05 - OS Version | The minimum Android version must be 4.4 KitKat. | Reliability |
RNF06 - Database | The system must use Firebase as the database. | Reliability |
RNF07 - Sensors | The software should communicate with the geolocation sensor. | Configuration |
RNF08 - Permissions | The system must request permission for the device's location. | Usability |
The application
Conclusion
Producing this work was of great importance for expanding the author's knowledge. The entire development process allowed us to understand how a mobile application can completely change customer service. As a result, it became evident how much technology is in demand in traditional establishments, such as pet shops.
To succeed in this integration, specific objectives were defined. First, enhancing knowledge in Java programming required a thorough review of previous lessons and specific articles on this programming language. The endless possibilities that Java can provide, such as native integration with the Android mobile system, were realized.
Following this review, it was discovered that the Android operating system is the best choice for development, given its benefits, such as the accessible development of high-quality and secure mobile applications. This aligns perfectly with the second and third specific objectives: improving mobile application development and producing a high-quality application.
Based on research conducted in pet shops, it is understood that manual processes are slow and can easily be restructured in a virtual environment. This directly relates to the fourth and final objective of the work: assisting pet shop owners and benefiting customers with faster service.
It was concluded that success requires a combination of all the previous objectives to build a useful, user-friendly, and accessible tool. FindPet was developed with this in mind, and the results were significant. The response time for service requests was almost instantaneous, and the total service time, from collecting the animal to delivery, depends solely on human activities such as fetching, washing, and delivering the animal. The usability of the FindPet application is undeniable; it is not only useful but also simple and straightforward.