top of page

 Case Study - MedsUpApp - Final Year Project

Project Overview

As part of my Final Year Project in Computing, I was tasked with creating a software application that contained a unique functionality. We also had to demonstrate the use of the CRUD methodology (Create, Read, Update, Delete) and upload a video demonstration for all created functionalities.

GitHub repository link: https://github.com/Efeighery/MedsUpReminder

Technologies used

Android Studio - Creating the overall layouts, visual design, and functionalities for the application.

Java - The main programming language used to develop the code.

Snyk - For checking the application for any errors and issues.

Realtime Firebase Database - Saving and editing user account details

Cloud FireStore Database - For the CRUD functionality pages.

Research and Target Audience

MedsUpApp's target audience is essentially the general public regardless of age, in college, or in work, and anyone who needs an extra reminder to take any medication mandated by their GPs.

​

Medical and medication reminder apps are a lot more common all around the Google and iOs Play Stores and some even have a lot more advanced features like a medical calendar for future appointments and operations.

​

From what I gathered, I couldn't find many that have a text recogniser technology like the one I used in my application kind of how CamScanner and Google Translate have tech similar to that.

Development History

At the start of the project, the initial plan of action was to develop the app via Ionic React and make it work for iOs and Android. But my supervisor suggested using a technology that's a lot more within my wheelhouse and focusing on Android development given that I had until May to develop and finish the application.

​

Another difficulty I had was implementing the text recogniser functionality. At first, it would've involved analysing images to find the text and display it to the user and add it to a calendar. But it was hard to properly program it into the app. Then I remembered there was another text recogniser functionality that takes audio files and grabs the text to display it to the user. Since Google Translate and YouTube have microphone options, I found it easier to program and implement.

​

I also would've developed a fully functional calendar page but the tutorial I tried to use had a pseudo stylesheet that was no longer available so I decided to use a Calendar intent object which was more effective. An alarm maker was also added to give users more flexibility and options for creating reminders besides using the Calendar.

​

Towards the end of my app's development, I discovered that RealTime Firebase has caused past saved CRUD data entries were being carried over from past user sessions. I did some research, I found that saving the CRUD note to a user ID will ensure that users can only see the notes that they created. While it's indeed possible, I couldn't find an Android Studio tutorial that uses Realtime Database for this fix. So, I decided to give Cloud Firestore, another database that Firebase offers.

 

Then I found a Notes App that used Firestore and decided to rework the CRUD pages into notes that can save medication, diagnoses, and contact information. Fortunately, when I ran the application in the Android emulator, the notes were saved so only users can see what they saved and not someone else's.

​

The video demonstration of the application can be found on YouTube (link below):

https://youtu.be/gQGCpCMyA9U

How it works

When you start up MedsUpApp, you'll be taken to the main registration page where a user can make an account to be saved onto the Realtime Database. You'll need to enter the following credentials that you see on the left screenshot.

reminderpage.png
log.jpg

When you click the register button, you'll be taken to the login screen (right screenshot) where you'll need to enter an email and password. Both pages have an extra link where if a user has already logged in or is starting out they can click the links to get to the page they need to go.

​

If a user misses a field or types something wrong, an icon will indicate to them to change that to the required credentials. Otherwise, the user will then be brought to the main menu as you can see below.

MainMenu.png

Clicking the "Recognise Text" button takes you to a screen with two buttons. When you click the microphone, you'll get a prompt where users can read their medication instructions out loud which will be added onto the blank field. Clicking the "Copy button" will be added to the clipboard on a user's phone. Afterward, in the "Create Reminder" page, a user can click the first button which brings them to the main Calendar app where they can paste the copied text into the event field and set it to a specific time (e.g, Take one with food per day at 12 pm).

In the "Edit Profile" page, users can alter user account details however they see fit. If a user has a different gender or age, they can click on the edit button to save said changes. Firebase RealTime will then track the user account table that's experiencing said changes and adjust accordingly. Then the user profile will be altered to reflect the implemented changes.

BEFORE

AFTER

With the note-maker pages, users can make and save notes containing information about contact details (for emergencies), diagnoses (depends on the user) and medication instructions. When a user clicks on the create button at the bottom right corner of the page, they'll be brought to the creation page.

In order to save the note onto the database, it needs to have a title or the user will be asked to add a title to the note to do so. When you go back to the main note page, your newly created note will be displayed in the scroll view.

bottom of page