Client App for COMS 4156 Advanced Software Engineering Project (Includify) offered in Columbia University during Fall 2024.
This is an Android application which consumes the Includify service residing here.
This Android application focuses on the target user group of disabled and the elderly. It has the following features:
- The users can add emergency contacts for quick look-up in case of an emergency. They can called be dialled by just a click from this application.
- They can add details of the type of medication they're on and when they're scheduled to consume them. This app aims to deliver them daily reminders at the specified times so that they don't miss out on their essential medications.
Apart from the above additional features, Includify also uses the service built by us to implement the following features.
- Explore - The users can browse nearby places offering them accessibility services. They can use it to get an in-depth idea of the nature of resources they offer and their availability.
- Appointments - The users can use our service to book appointments at a specific date and time at a give organisation which they plan to visit. They can also add resources to the appointment which they plan to use. Additionally, volunteers can choose to add themselves to such appointments via our service as per their convenience whose details will also be visible to the users.
Thus, our service coupled with the Includify app allows our target users to manage their day to day activities in a far better and more efficient way, overcoming their difficulties. It aims to empower them in more ways than one.
Application: Android
Language: Kotlin
Build Tool: Gradle
Use the following command to clone the repo.
git clone https://github.com/abhishekpaul11/COMS-4156-GarlicBread-Client.git
Open the Project only in Android Studio IDE which comes with all other necessary tools for building Android apps.
In the build.gradle file, there are 2 types of builds mentioned. You can use the commands below for either of them.
./gradlew app:assembleRelease
or
./gradlew app:assembleDebug
The codebase contains Unit Tests and automated End-to-End Tests.
Use this for running the unit tests.
./gradlew testDebugUnitTest
Use this for running the end-to-end tests.
./gradlew connectedDebugAndroidTest
We have added the Jacoco Gradle Plugin to get test coverage. Run the following command to generate the coverage report.
./gradlew jacocoTestReport
Currently, we are at 56% branch coverage.

Ideally, an Android app should be deployed on the Play Store. However, given the scope of the project that is not feasible as we would need an app signing key and so on. So we have currently generated an unsigned apk file for testing purposes.
It is available here. It can be installed directly on any Android device.
Additionally, you can also build a new apk from Android Studio by following the steps mentioned here.