Expy allows you to keep track of the expiration dates of the products you're using to ensure the effective use of the products. The main features of this Android application are recording the expiration date of foods or other products, getting periodic alert notifications, and accessing quick monitoring from a widget. Other features include one-step login using Google, storing and synchronizing your records across devices, support for two languages (Indonesian and English), and a random profile picture.
Expy was developed with the team as a capstone project for the Mobile Application Programming 2 course. The development process went through 4 stages, namely planning, design, implementation, and testing.
Check out the release page and download the latest apk.
- Native Android with Java
- MVVM pattern
- Android Architecture Components, specifically Room, ViewModel, LiveData, Paging, and Material Components
- Firebase Authentication, secure user authentication systems
- Google Sign-In for Android, support for user authentication using Google account
- Firebase Cloud Firestore, a NoSQL document database to store, sync, and query data
- Firebase Analytics, provides insight on app usage and user engagement
- Glide, image loading and caching
- Material View Pager Dots Indicator, indicators for view pagers
- Facebook Shimmer, shimmering effect on loading screen
- CircleImageView, a circular image view
Firstly, clone this repository and import it into Android Studio (git clone https://github.com/ariefzuhri/Expy.git
).
- Open the Firebase Console and click
Add project
(or use an existing Firebase sandbox project). - Follow the instructions there to create a new Firebase project.
- Go to
Project Settings
and at the bottom, click on the Android icon to register your Android app. - Follow the instructions there again and make sure the package name matches your app ID in the Android Studio project. It is also required to include a
debug signing certificate SHA-1
to support Google Sign-In in Firebase Authentication. - Download the
google-services.json
file and move it into Android app module root directory (./app
).
- Go to
Authentication
and click theGet started
button to enable it. - Enable
Google
in theSign-in method
section.
- Go to
Firestore Database
and click theCreate database
button to enable it. - Select
Start in test mode
as theSecurity rules
. - Select
nam5 (us-central)
as theDatabase location
. - Click the
Enable
button.
- Go to
Storage
and click theGet started
button to enable it. - Select
Start in test mode
as theSecurity rules
. - Select
nam5 (us-central)
as theDatabase location
. - Click the
Done
button.
Any contributions, issues, and feature requests are welcome.
Give a βοΈ if you like this project.
This project is licensed under the MIT License. See the LICENSE
file for details.