Inspiration

Sometimes, life just be like this: you just got your CS midterm scores back, and you scored 99... which is below average. Then it just so happens that today is one of the 3.5 days in the year that it rains in LA, and of course you forgot to bring an umbrella, because you didn't have time to check the weather forecast before you ran out the door to go to your 8 A.M. Physics lecture since you stayed up 'til 4 saving memes from Subtle Asian Traits. Now, you just want to get a boba from Rende and to do some self care, but you have no idea if you have any swipes to spare. You try to check 'howmanyf***ingswipesshouldihave.com', but of course the internet died. So now what?

Well, thankfully, you thought to download the new app SwipeLeft, to keep track of your swipes yesterday. Now, you got your boba, you got some memes to check out on SAT, and all is as it should be. Sometimes, swiping left really can be a good thing!

What It Does

SwipeLeft is very intuitive. It starts at the maximum amount of swipes you have, depending on your meal plan (which you can select in the settings menu, from the top right corner). Whenever you use a swipe, you press the minus button, and the counter will count down for you. If you ever accidentally press the minus button, you can just press the plus button to fix your mistake. (Note, SwipeLeft will shade you for your mistake. Use at your own discretion.)

How We Built It

We used Android Studio, Java, Github, and our good ol' friend, Stackoverflow, to build SwipeLeft. We started with the layout and design of the main screen of the app, then incrementally added functionality to each component of the app, from the adding and subtracting buttons to the handy settings menu.

Challenges We Ran Into

We're newbie freshies just off the boat of high school, where AP CS represents the extent of our coding experience. Consequently, this project was incredibly difficult for us, having never built an app before. We had to figure out how to do everything from the ground up, from how to get Android Studio running to saving the data from the screen when we close the app and reopen it. We also struggled with making the settings menu animated for a more visually pleasing design for the user. But despite all the obstacles we encountered, with the help of mentors and each other, we managed to develop a very functional and complete app.

Accomplishments that We're Proud of

First, everything and each other! Second, we are very proud of the fact that we managed to fix all the bugs we caused while trying to make the app. Third, we are very proud of all that we have learned today, since we didn't even know anything in the beginning. Software Engineering is about creativity and exploring limits, and unfortunately we don't get to experience that a lot in CS classes. Today was a chance for us to put our knowledge into a real product that we're passionate about. The fact that we went from nothing to finishing an app is incredible and fulfilling.

What We Learned

In a very general sense, we learned how to take basic syntax and turn it into a functioning app that users can interact with. More specifically, we learned how to code using XML and do a lot more with Java than we had once done in APCS. Within Android Studio, there was also a lot of connecting different components together and figuring out how to link XML files (Layout files) with Java files. We had to learn how to code different behaviors for different buttons based on information received from other buttons. For example, we figured out how to disable a button if another button is pressed, so that when our settings menu is activated, the add and subtract buttons will not act if accidentally pressed. We also learned how to implement a drop down menu (Spinner) in our app for selecting a specific meal plan, and how to get information from the selection. Another notable difficulty that we overcame was the issue of saving information from the app even if it is closed and reopened using SharedPreferences.

What's next for SwipeLeft

There are several exciting ideas we would like to implement into SwipeLeft. The main one is to have reminders tailored to each meal plan in the app that tell the users whether they are on track in using their swipes or if they are using them too much. We also want to make an iOS version of the app, for a broader user base. We also want to add an option for users to manually set the number of swipes for the counter, in case they start using the app in the middle of the year.

Share this project:

Updates