Skip to content

tuancai99/ThoughtBank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

111 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ThoughtBank

Welcome to ThoughtBank, where anonymity meets connection. Ever had a thought you wanted to share but hesitated? ThoughtBank is your canvas for expressing freely, without fear or judgment.

How it Works:

ThoughtBank is a space where you can deposit your musings, reflections, or random ideas anonymously. Each thought is a seed planted in our collective garden of ideas. But here's the twist: for every thought you deposit, you gain access to a wealth of insights from others who've shared their musings. Curious about how we made this happen? Please check out the Visual Design

Built with:

Why did we build it this way?

The data logic for the live app will be contained in the CentralViewModel class (for all views).

We want to avoid live data being incorporated into our previews as it gets messy when dealing with external APIs. Because of this, we have a PreviewViewModel class which mirrors CentralViewModel but returns dummy data so that we can test out the UI without worrying about the backend.

Having a ViewModelProtocol ensures that both view model implementations have consistent behavior and that views need not worry about the differences between them.

Challenges we ran into:

In our app, the coexistence of UI and backend operations on a single thread occasionally resulted in stalls, leading to unresponsiveness during asynchronous functions like fetching. To address this, we opted for a separation of concerns, executing UI code on the main thread and backend calls on a distinct thread. This architectural shift markedly improved app responsiveness and user interaction. For a comprehensive understanding of our solution, please refer to Solution Details.

Accomplishments that we're proud of:

In our quest to foster a positive and inclusive community within our app, we implemented a robust review moderation system. This system, powered by the OpenAI API, dynamically filters and prevents the display of thoughts that violate community guidelines, such as instances of harassment, hate speech, or inappropriate content. We take pride in achieving a secure and welcoming environment by leveraging cutting-edge technology to ensure that every thought shared contributes to a respectful and enjoyable community experience.

ScreenShots:

Screenshot 2023-12-03 at 3 11 51 PM Screenshot 2023-12-03 at 3 12 00 PM Screenshot 2023-12-03 at 3 12 12 PM Screenshot 2023-12-03 at 3 12 26 PM Screenshot 2023-12-03 at 3 12 39 PM Screenshot 2023-12-03 at 3 12 50 PM

About

An iOS mobile app where users can express and see how the world is thinking anonymously though a bank of thoughts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages