To build a cloud-based shopping list application for android that enables users to share lists with other users to facilitate shopping for group events or families. Shared lists will update on all devices as changes are made.
I used this project to familiarize myself with the android API, database design, and creating mobile applications. This project uses Google's Firebase database for storing user data and facilitating sharing shopping lists between users. Profiles, shopping lists, items, and invites are stored in the database as models. Using the relevant APIs I made it possible for users to sign in through Google, Facebook, Twitter, or email to preserve data between devices. I also made the decision to separate most of the UI logic from the android Activity classes to keep the project clean as it grew larger.
Before building this application I had no experience with using XML for designing user interfaces and very little experience with using databases over the network for storing data, so this project was very enlightening. The user invitations portion of the project also taught me a lot about the security concerns to consider when storing data over the network and sharing it with other accounts. My decision to keep UI logic separate from Activity classes made this project much cleaner and easier to maintain than it would have been otherwise.