Team 5ive present GoalGetter!
GoalGetter is a platform that allow users to set, track, and share their goals, with an emphasis on social integration to create a positive environment for self-improvement.
While there are plenty of apps out there that allow you to connect with friends, and some that allow you to keep on top of your goals, we believe that through combining these elements into one app, you get the best of both worlds. Sharing your progress with friends can help give you that extra little bit of motivation you need to make your goals a reality. And having a social platform with self-improvement at its core helps to bring focus on positivity, support, and respect, something which is all too often lacking on social platforms, and something we have sought to harness in our app design.
As a user of the app you can: - Set goals, which you can split into smaller, more manageable subgoals manually, or let the app do it for you. - See your active goals each day to report progress on them, as well as seeing the full history (and future) of your goals in the in-built calendar. - Track your progress across all your goals and subgoals. - Share progress with your friends, as well as comment on and react to their updates.
As we wanted to build an app, we decided to make it using React Native after spiking a few options. We believed this would serve as a natural evolution from React, which we learned on the course, while also exposing us to a new technology.
Alongside React Native we used Expo to emulate our app while building it, which also allowed us to build our app simultaneously for both iOS and Android. We used Firebase both for authentication and for image hosting, as we believed introducing a single new technology for both of these services would reduce the complexity of our tech stack and provide a pre-built interface between them.
We used PostgreSQL to store our data, as when mapping out our data tables we found the data within them had a consistent shape, so a relational database would be preferable over the increased complexity of a non-relational database.