Skip to content

guchris/PG

Repository files navigation

PG (PickupGames)

Our application facilitates local pickup games. Users can login and sign up using their phone number, which will be verified by Twilio's SMS API in conjunction with Google's SMS Retriever API. If a new phone number is inputted, the user will create a profile, including their username, date of birth, emergency contact, and their team association. Otherwise, the user will be directed to the main page of the app, which will show a list of upcoming games that the user has already joined. There is also a button that leads to a feed of new games that are looking for players. A user can join a game if and only if certain qualifications are met, such as age.

Since our app requires realtime data for users and involves many types of data, it is important to have a database system that can maintain the relationships among them. Thus, the popular Firebase and AWS Mobile Service options were not considered, as their databases NoSQL. Therefore, we decided to use AWS RDS, which is Amazon's Realtime Database, which can be configured to MySQL. This database system is essential in storing, organizing, and managing our app’s data efficiently in tables, which can then be manipulated based on the app’s needs. In addition, AWS Lambda was used to create functions, written in NodeJS, to access AWS RDS. These lambda functions were then connected to AWS API Gateway, which allowed us to create an REST API. Then, this api is accessed by the android application using a service called Retrofit, which is a type-safe HTTP client for Android and Java. Ultimately, without the database system, the data management will become inefficient and the development time will turn out to be much longer and complicated.