College is undoubtedly the biggest stepping stone into the future. With nearly 21 million college students in the US to date, help and friendly support is around every corner. Social connections to improve student life are a necessary aspect of these years and crucial to many students’ success. However, who really has time to search through the thousands of Facebook groups to find their semester long study partners or travel all across campus in search of a club all on top of their daily work? We know its stressful. As incoming college students, we recognize the ever-present need to find those who will help you grow as an individual and student making successful strides towards the future. That’s why we created Iris.

Iris, being the goddess of communication (and rainbows), represents the main function of our app, being that it connects college communities through a unique social media platform.

What it does

Iris is a new social media platform that allows students, clubs, and other school organizations to connect and communicate, furthering student success and encouraging a more positive community. By linking a Google account, students are able to securely log-in to the app, linking all their app information to their Google account securely using Firebase. Students are able to choose a large variety of interests and majors to help them find the perfect communities for them. Then, through our app, they are able to subscribe to whatever groups they choose and receive email notifications as well as direct device notifications about events, meetings, or anything else the group leader decides to send out!

On the alternate side, the group, club, or community leaders are able to create their pages through our app using whatever google account they would like. From there, they, following the same steps, can specify what their specific community is for. Then, the group leaders are able to send out mass email or device notifications to whoever is subscribed! It's simple, fast, and effective.

How we built it

Our vision for this app expanded further than MIT's App Inventor. We needed a variety of API's and tools that simply were not available in App Inventor. These Include Google Sign In, the latest versions of Google Play Services, Full Firebase support, and other features like network notifications, Toolbar support, Appbar support, Floating Action buttons, and Snackbar support. With all of these requirements in mind, we decided that the best Platform for our app was going to be Google's own Android Studio, using Java to code the app. Using Java we were able to Implement all of these features into our app.

For example, the Login screen implements the Google Sign in API, Firebase API, and Play Services to

1) Call the Google Play Services API and asks the user to choose an Account from all of the Accounts signed in on the device.

2) Get the result from the Play Services API after user has Selected an Account and send to the Google Sign-In API

3) Using the Google Sign-In API, Check that the account is correct, and that there are no problems with the account or securely signing in. If there are no problems with the account, the Google Sign-In API returns a secure and unique User ID (UUID) that is only used to authenticate with our app. If the Google Sign-In API finds a problem signing in, the process is stopped and user does not sign in.

4) Get the User ID and authenticate into our app securely using the Firebase API

5) Check if the user is registered by checking the Firebase database, and then proceeding accordingly.

While it may sound relatively straight forward, this was accomplished by writing line of code after line of code.

We used a combination of Activities, Fragments, and Dialogues in Java to provide a simple, inviting user interface to the App. Some examples of this in our app are the Navigation Drawer, and the ability to completely change the functionality and on-screen content by just clicking on one of the navigation options, and without having to change activity.

Using Appbar and Toolbar Support, we were able to provide buttons for the user to go back to the previous screen and navigate the app without having to swipe right or press the built in back button.

Challenges we ran into

Java is a challenging programming language to learn and use, because of this we faced a few challenges while making this app. While we already knew some Java, we still faced a few slow downs when we had to work with pieces of Java we hadn't experienced before. While building the app, we experienced many instances where the app wouldn't start or would not build correctly, or would crash due to thinks like syntax and dependency errors in our code. We also experienced errors while connecting to our database because of code that needed to be fixed. After all of this was done no more errors were experienced.

Accomplishments that we're proud of

Undoubtedly, accessing and connecting the google database to Iris was one of our biggest successes. This allowed us to have a secure experience for our users as well as a common, easy to use setup. Another accomplishment was setting up notifications. The ability to send and receive device notifications outside the app based on user subscriptions and interests allowed our app to be more user-friendly. One of the other accomplishments we are proud of is the UI. With an inviting, google-like color scheme (that meets the google material design guidelines) and simple navigation, our app is able to function more efficiently and smoothly.

What we learned

Through developing Iris, we learned that testing an application by yourself or with others is by far the best way to ensure you catch all of the errors. To do this, we must be time efficient as well. We were able to implement this new skill into our development and flush out all of the errors we found. We were also able to learn a little bit more about Java development and the latest in the Android Technology world.

What's next for Iris

Iris is all about connecting communities for a student's success. Once we are able to positively impact the lives of some college attendees, we hope to apply their feedback and reach a larger audience. In addition, we hope to add more specific interest options and expand usability. As of now, a few of the clubs are used as fillers and do not actually exist. However, with time and the increase in users, we will undoubtedly be able to fill these minor gaps.

Share this project: