Introduction

After living in the COVID-19 pandemic for approximately 2 years now, we decided that we want to make something that can alleviate people suffering during this pandemic. We came up with an Android mobile application called ‘DOOWA’. The name DOOWA is derived from the Korean word ‘deobda’ which means to help. The main function of our application is to connect individuals or families in the community who required assistance to survive during this pandemic to a donor in the community who are willing to lend a helping hand to reduce their hardship. We are hoping that this app will facilitate and encourage members of the community to help each other during this troubling times.

Application Demo

https://youtu.be/cCk-URaS2LA

Overall Architecture and Framework

For our DOOWA application, we have 4 main modules as the framework for the whole architecture. The first part handles the user interface and how the user interacts with our application, which is handled in Android Studio as our front-end development. This part mainly reacts with the user request such as retrieving all donations and food banks submitted and displayed on the main map, getting all the info and list of users' donation and submission history. For our back end, we implemented 3 core modules for the application to work seamlessly which is the server, Heroku, which is connected to 2 separate databases, PHPMyAdmin and Google Firebase. The first database, which is PHPMyAdmin, will contain the data of the users' login authentication (if they are registering through our app) and all the donation and foodbank data such as the location (in longitude and latitude), time submitted, user name, details, image if any, phone number and much more. The second database, Firebase, stores the data of the user login authentication if they logged in using the Google services. Additionally, it is also used to store the image uploaded by the user since the other database is unable to store the image. After the image is stored in the Firebase, only the image link will be passed to PHPMyAdmin database according to the which donation that was submitted with the image. Finally, our Heroku server will be the one that handles the retrieval and uploads of the donation request between the user interface and the database using PHP APIs. The communication between all 4 modules is illustrated in the image below.

Untitled

Getting Started

Preparing Backend Server

The first step of developing our application is preparing the backend server. This server has a main purpose to connect the communication between the frontend side, which is the user interface to the database. Whenever a user requests something from the database; for example, the list of submissions that have been submitted by the user, the server will receive that request and fetch the data from the database and send it to the user. The same method is applied whenever a user submitted a request; the server will receive that submission and store it into the database.

For our application, we have chosen Heroku as our backend server.

Untitled

1. Creating Heroku account

The very first step to deploying your Heroku server is by signing up your Heroku account. Head over to [<https://www.heroku.com/>](<https://www.heroku.com/>) and click on the "Sign Up" button. Follow the guide below for account creation.