Mobile App Design and Development: Foodies App Self-Reflection Report

Verified

Added on  2022/10/06

|6
|1820
|134
Report
AI Summary
This report offers a self-reflection on the development of the Foodies Android application, created for a Mobile App Design and Development course. The report details the major steps involved, from project planning and requirements analysis to design, implementation using Android Studio, and comprehensive testing. It highlights key lessons learned, particularly the use of Firebase for real-time cloud database management and the advantages and challenges of group dynamics. The report also evaluates the application's successes, including user login, restaurant reviews, and profile management, while also suggesting areas for improvement, such as design enhancements and notification capabilities. Finally, the report explores various monetization models, recommending a free-with-ads approach and freemium model to generate revenue from the Foodies app.
Document Page
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Contents
1 Introduction..............................................................................................................................................3
2 Major steps of the project........................................................................................................................3
3 Most important lesson.............................................................................................................................4
4 Group dynamics........................................................................................................................................4
5 Most enjoyable aspect..............................................................................................................................4
6 Successes and improvements...................................................................................................................4
6 Monetization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . 5
7 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
References...................................................................................................................................................5
Document Page
1 Introduction
This report presents a self-reflection on the development process of the Foodies android application. It
highlights the major steps that were taken throughout the project. It also discusses the lessons I learnt
from the whole project as well as the challenges and lessons learnt while working as a group. The report
also discusses aspects of the app that can be improved and how it be monetized to generate income.
2 Major steps of the project
While developing the project the following steps or phases were followed;
Project planning- This phase of the project involved coming with a project plan on how the
project was going to be undertaken. This involved coming up with a project schedule that was
going to be followed for the project and defining the tools and the procedures that were going
to be used for the development and testing of the app. This phase also involved task allocation
among the group members
Requirements engineering and analysis
This phase of the project involved analyzing the requirements document that was provided in
order to come up with the requirements of the application. By analyzing the requirements
document, a set of functional and non-functional requirements we formulated. These
requirements are then used in the next phase of the app.
Design
This phase of the project involves analyzing the set of requirements from the requirements
analysis and engineering phase to come up with the design of the app. The design of the app
was documented using wireframes and UML diagrams like the class diagram.
Implementation and development
This phase of the project involved performing the actual coding of the application based on the
design of the app formulated in the previous phase. Development of the application was done
using Android Studio and a lot of research was done while developing the application for
different features of the app to work as they are supposed to.
Testing
After the development of the app was complete, the next phase was to test the final application.
Testing was done at different levels including;
o Unit testing- This type of testing involved testing units making the app to make sure that
each unit performs as expected.
o Component testing- This type of testing was done to make sure components of the app
which are made of units work as expected (Balasa, 2018).
o System testing- This type of testing was done to make sure that the whole app works as
expected.
After the testing was done and all functionalities were verified against their respective
functional and non-functional requirements the tests were documented (Testbytes, 2017).
Documentation
This phase of the application involved coming up with the documentation showing how the
design of the application, implementation and testing of the application.
Document Page
3 Most important lesson
The most important lesson or concept that I learnt while implementing the application was the use of a
real time cloud database called firebase which was used as the application’s database. The database is a
cloud service by Google thus its optimized for use in android apps. By using firebase as the backend
database of the application, I was able to understand how data can be stored in form of objects. Storing
the data in form of objects makes it easy to retrieve the data and use it in the application. Firebase also
has other features that make development of an application easy. For example, authentication is
handled exclusively by firebase thus reducing the work that would have to be done to ensure user login
is handled by the app. Since the database is developed and maintained then uptime is guaranteed at all
times.
4 Group dynamics
For this project, working as a group presented its advantages and challenges at different stages of the
project. One major advantage of working as a group is that it made the development of the app much
easier as all team members were involved in making sure different functionalities of the application
were achieved. This was made possible by task allocation. At the earlier stages of the project, the group
functioned very properly since there was not a lot of work involved. However, as the project progressed,
and the work load increased, the group had to readjust the strategies in order to cope with the work
load. Adjusting with project enabled the group to continue working together to finish the project.
However, working as a group also presented its challenges. One of the challenges was time. Since not all
team members were available at the same time, it was difficult finding time where the group would
meet up for example to review the progress or to solve a problem with the project. This made it very
hard to come up with a perfect project schedule to be followed. Another challenge was task allocation
as it was difficult to determine the workload of each subtask thus some group members would get more
complex tasks than others thus would take more time.
Communication in a group is very vital. To ensure that the project progressed in the right direction, we
had to ensure we maintained constant and effective communication. This was made possible by use of
messaging apps like WhatsApp or email where all the group members were informed of matters
concerning the project.
5 Most enjoyable aspect
The most enjoyable aspect of the project was the actual implementation and development of the app.
This phase of the app was very enjoyable because of the important I discovered and learnt as the
development was taking place. The process of writing code and testing it brought a lot of satisfaction to
me.
6 Successes and improvements
Although the project was a success, some improvements can be done on the application. Success of the
app can be looked at in form of the functional requirements of the application. Thus, the successes of
the application are;
The application was able to use firebase as the backend database.
A user can be able to login or register in the app.
tabler-icon-diamond-filled.svg

Paraphrase This Document

Need a fresh take? Get an instant paraphrase of this document with our AI Paraphraser
Document Page
Users can view restaurants, add reviews and make reservations.
Users can view street food stalls, add reviews and view reviews by other users.
Users can view and edit their profile.
Users can view other users using the app.
A user who is an admin can add a critical reviewer.
A user who is an admin can add another admin
The app is easy to use because of its minimalistic design.
Control of access to different features is limited to the type of user that is using the application.
Based on the review of the application, a few areas can be improved to make the app better. Some of
these areas are;
The overall design of the application can be improved by following Google’s Material design for
the design of each activity making up the application.
The current design of the app involves use of activities for each different screen that is opened
by the application. This can be improved to use fragments when transitioning to activities that
are very closely related thus reducing the number of activities making up the application.
The app can be improved by adding notification capabilities for example when a user gives a
rating to a review, then the critic who made a review gets a notification. Notifications can be
added for different features but the user can choose for which features he or she would like to
receive the notifications.
6 Monetization
There exist different monetization models for android applications. The best way to monetize the
Foodies app is use of free with ads model. Although this is not the most effective way to monetize an
app, it’s the simplest of all the other models. This model will involve displaying adverts in the app to
generate income when a user presses an add in the app (Android Developers, 2019).
Another way of monetizing the app is to use the freemium model (Sims, 2014). This model involves
making the app free but adding other features that require the user to pay a little fee to access them.
For example, paid users can have the ability to make reservations.
7 Conclusion
This project was a success and as a result I learnt so many important lessons which will be helpful to me.
The project opened my mind to many ideas and possibilities in the android space.
References
Balasa, K. (2018). Test Case Management & Test Management Software Tool - TestRail. [online]
Gurock.com. Available at: https://www.gurock.com/testrail [Accessed 24 Aug. 2019].
Android Developers. (2019). Earn | Google Play | Android Developers. [online] Available at:
https://developer.android.com/distribute/best-practices/earn [Accessed 27 Aug. 2019].
Testbytes. (2017). Positive Testing and Negative Testing with Examples - Testbytes. [online] Available at:
https://www.testbytes.net/blog/positive-and-negative-testing/ [Accessed 24 Aug. 2019].
Document Page
Sims, G. (2014). How to monetize your Android app. [online] Android Authority. Available at:
https://www.androidauthority.com/how-to-monetize-android-app-379638/ [Accessed 27 Aug. 2019].
chevron_up_icon
1 out of 6
circle_padding
hide_on_mobile
zoom_out_icon
[object Object]