Semaphore is a system that monitors physical mailboxes for deliveries and notifies users when mail arrives. In addition, Semaphore also categorizes and counts the number of items that are currently inside the mailbox and displays the information to the user in an associated smartphone application.
This repository contains the Android Smartphone Component.
Semaphore was created for the Electrical and Computer Engineering Capstone Design Symposium 2017 at the University of Waterloo.
See the main project page for more information.
- Clone project using
git clone git@github.com:shlchoi/semaphore-android.git - In the Firebase Console, create a new project
- Add a mobile Android app for the debug build variant using the package name
ca.semaphore.app.debug - Add another mobile Android app for the release build variant using the package name
ca.semaphore.app - Download the generated
google-services.jsonfile, and put it into theapp/folder - Open project in Android Studio
- Download the Android Support Libraries using the built-in Android SDK Manager in Android Studio
- Create a file called
keystore.propertiesin the root project folder - Create a new keystore or using an existing one, and add the following information to
keystore.properties
storeFile=[path to file]
storePassword=[password for the keystore]
keyAlias=[name of the key used for signing the application]
keyPassword=[password for the key]
- Build the application
- Google, The Android Open Source Project - Android Support Libraries
- Firebase - Android Firebase Libraries
- Daniel Cachapa - Expandable Layout Library
- Markus Junginger, GreenRobot - EventBus
- Facebook - Stetho
- Evan Tatarka - Retrolambda Plugin
- Jake Wharton - Butterknife
Distributed under the GNU GPLv3 license. See LICENSE for more information.
Libraries are used under Google's Google API Terms of Service, Firebase's Terms of Service, the BSD License and Apache License 2.0.