Inspiration
- SG60 is built on the theme of multiculturalism as well as inclusivity
- National Day also serves as an appreciation for Singapore's history and journey
- We wanted to have an app that was able to use both agendas to serve as an app that represents the SG60 event fully
What it does
- Using fully working authentication, there is a forum where users of different cultures and generations can answer with their experience, which allows sharing between demographics that most likely would never meet
- Allows people to be able to find common similarities as well as appreciate their differences
- Each response gives a user 100 XP, which can be used to rank up from beginner, to gold
- This gamifies the experience, making users more incentivized to try to respond and while they are at it, look at other responses
- There is also a trivia quiz about Singapore history where the score of each user is calculated by the percentage gotten correct and the time taken
- Each user has a high score that they can see in the ProfileView and there is also a leaderboard
- Gamifies the experience again because users want to get a new high score, learning Singaporean history in the process, and the journey Singapore has gone through
How we built it
- We used Firebase Auth and Firebase Firestore
- Each user registers an account with their email, password
- Accessory information, like race and age, is stored in Firestore that links to each Auth account with an ID
- There is also a seperate collection for each Forum response, that has the information about the response and an userID, that can be used to trace the information about the User that posted in from the collection
- The quiz high score is stored in the accessory info for each account, and updated if the new score is higher than the previous score
- The leaderboard queries all the top scoring users by looking at their high score
Challenges we ran into
- Firebase was quite challenging to set up because there were problems with setting up the API key
- The various viewModels and queries, as well as Auth was very challenging as there were delays to update the database that needed DispatchQueue to solve
- Making the UI look nice was also quite hard because we wanted a UI that was reminiscent of Singapore
Accomplishments that we're proud of
- Incorporating full authentication
- Being able to use Firestore
- Making the trivia quiz
- Working leaderboard that updates
What we learned
- How to make modern UIs in SwiftUI
- How to set up Firebase
- How to work together as a team
What's next for SG Unity Mosaic
- We may look into Live Chat feature that pairs up different users of different generations and ages, that would most likely never communicate in real life
- Make the UI responsive for tablet, as well as MacOS
Log in or sign up for Devpost to join the conversation.