Our inspiration came from the Fitbit app. In the Fitbit app, there is a leaderboard section that ranks everyone based on their steps. This leaderboard ranks the user's friends. From personal experience we have seen that this goal oriented approach and a competitive environment helps individuals complete their goals more often. The inspiration for the website came from Apple! We included javascript as well as html and css for stylistic technique. We created an app that is inspired from our daily lives. As a student in the United States, I have a hard time of breaking habits. We all formed together and created an app that helps break these habits and compete with the community.

What it does

Scor is a community goals app, that allows people to create goals where in their friends and other members of the community can join and partake in the activity. Users can create goals and also join goals made by other users; users can set their location, target, desired score, as well as a description, to motivate themselves to complete the goal! Users earn points for creating and completing goals, and their points and rank is then updated in our leaderboard screen! The leaderboard is represented from people across the world. The unique aspect of the app is that you can join goals together and the goals will be shown in your home view screen. The app functions as a way to break bad habits and has features that is unique to the app. All the data in our app is stored in Firebase, such as Password, email, name, age. This way, it makes it easier for the user to log in and create an account, without a hassle.

How we built it

The website was built using Visual Studio Code and Xcode. Our team is comfortable using Xcode and VSCode as it has a useful feature of live-sharing and iOS development tools. Live-Sharing is an extension provided within VsCode that allowed us to collaborate with each other. This is how we contributed together as we wrote the program together and collaborated using Face-time. The website was built using html, css, and Javascript. We implemented Dart and Swift code for our app. We used Dart code as our main frontend and we later added Swift with Firebase for our backend.

Challenges we ran into

Some UI issues we faced was to find a good way to be able to display information in a scrollable fashion. We eventually learned how to implement SingleChildScrollViews. Which is just a fancy way to say a horizontal and vertical scroll view. With this we were able to display all of our information in a scrollable fashion that was easy to understand and navigate. Another major issue that we faced with backend was that Firebase is only able to store primitive data types such as booleans, strings, integers, floating point numbers and so on. However, do the complex nature of our app, we needed to be able to store custom classes inside of each other. To overcome this issue, we used data structures such as dictionaries (maps) and arrays to store all of our info without using custom classes.

Accomplishments that we're proud of

Some of the Accomplishments that we are proud of are that we learned how to successfully read, write manipulate data from Firebase. This accomplishment goes further than just this app and we can use this on future projects. As we started with this hackathon, we had no prior knowledge with Firebase; however, we gained experienced as we went through completing our hack. Additionally, we gained extensive knowledge with swift and flutter as a team with our focus of the app.

What we learned

We learned how to incorporate Firebase database in our code as backend, which can help us in our future. We learned how to use scroll views, which can help us efficiently display information in our apps. We also learned how to register, login and manipulate user data using firebase. Lastly, we learned how to sort and read our data from firebase efficiently.

What's next for Scor

The next step for Scor is it making it more user friendly for a larger user base. Additionally, the next step is to add an integrated messaging system that allows users to message each other across the world within the app. Finally, we want to advertise our app and make a difference.

Share this project: