Your first-choice app for going dutch
This project is for the 2nd week of KAIST CS496 Immersion Camp: Intensive Programming and Startup, the base requirements of the project being developing an android application using a backend server. Check out the server application here
Launch Screen | Login |
---|---|
Login is implemented by using the Facebook SDK for Android. Upon the push of a button, the application will prompt users to register by putting in their phone number and bank account, both of which are used throughout the application.
This application consists of 3 tabs - contacts, gallery, and godutch
The central list shows a list of phone numbers stored in the DB. If the server connection is unstable, it shows only the contacts in the internal storage. In the search bar at the top, you can find your phone number by name. Press the floating action button at the bottom to upload the information from the internal storage to the DB. All the files related to the phone book are named home, so please refer to them when you modify them.
Gallery Page | Deletion |
---|---|
The gallery tab shows the photos that the user has uploaded to his/her account. The user has 2 methods of uploading images to the server: from the gallery or directly from the photo taken from a camera.
The uploading process is done by sending a multipart/form-data
content-type containing the images to the server. The server stores the images in its disk and serves the images using nginx
, where the client retrieves the photos from.
Users can also delete photos by initiating a long press, allowing them to select the photos they wish to delete.
The GoDutch tab is the main tab of this project. It helps a group of users go dutch, which means evenly paying the total amount of money the group has spent.
This tab efficiently utilizes the mongodb aggregation framework to process the complex relationships between various collections such as transactions
, parties
, and users
.