π RealInsight is an innovative iOS application crafted using SwiftUI, designed to offer users an engaging platform akin to BeReal. With RealInsight, users are empowered to connect with one another and foster meaningful interactions by sharing their insights, thoughts, and experiences within a supportive community environment.
Whether it's reflecting on personal growth journeys, sharing inspirational moments, or discussing thought-provoking topics, RealInsight provides a space where users can authentically express themselves and engage with a diverse community of like-minded individuals. Through its intuitive interface and robust feature set, RealInsight encourages users to explore, connect, and discover new perspectives, ultimately fostering a sense of belonging and camaraderie among its users. π
I want to express my sincere gratitude to Eren Cem Salta for his outstanding course on Udemy, "Build BeReal Clone (IOS 17) - SwiftUI 5 & Firebase". Thanks to his teachings, which served as a solid foundation, I was able to develop this iOS application using SwiftUI and Firebase effectively. Building upon this knowledge, I expanded and refactored it to suit the needs of this project.
Slides are built using the template from Previewed. I extend my gratitude to them for their remarkable work and contribution.
- User Authentication: Secure sign-up and login functionality.
- Profile Customization: π¨ Users can personalize their profiles with profile pictures, bios, and other details.
- Post Creation: βοΈ Create posts with text, images, or videos to share insights and experiences.
- Feed: π° Scroll through a feed of posts from other users to stay updated and engaged.
- Interactions: β€οΈ Like, π¬ comment, and βͺοΈ share posts to interact with the community.
- Search: π Discover posts and users through a robust search feature.
- Notifications: π² Stay informed with real-time notifications for likes, comments, and follows.
RealInsight leverages SwiftUI for its user interface implementation due to several advantages it offers:
- Declarative Syntax: SwiftUI uses a declarative syntax, allowing developers to describe the UI and its behavior in a simple and intuitive way. This leads to faster development and easier maintenance.
- Live Preview: With SwiftUI's live preview feature in Xcode, developers can see real-time changes to the UI as they write code, making the design and development process more efficient.
- Cross-Platform Compatibility: SwiftUI is designed to work seamlessly across all Apple platforms, including iOS, macOS, watchOS, and tvOS. This allows for code reuse and a consistent user experience across devices.
- Swift Integration: Being native to Swift, SwiftUI integrates seamlessly with existing Swift codebases and libraries, making it easy to adopt for iOS projects.
RealInsight is designed with a strong emphasis on clean architecture, leveraging the separation of concerns to enhance maintainability and scalability. Through the implementation of UseCases, Repositories, and DataSources, complex logic is encapsulated and decoupled from the rest of the architecture, allowing for flexibility in persistence solutions such as Firestore and Firebase authentication.
In addition to clean architecture, RealInsight adopts the MVVM (Model-View-ViewModel) architectural pattern. This structure delineates the application into distinct layers:
- Model: Houses the data structures and business logic, ensuring data integrity and consistency.
- View: Represents the user interface elements, responsible for displaying information to the user.
- ViewModel: Acts as a liaison between the View and the Model, handling data manipulation and presentation logic. It fetches data from the Model and prepares it for display in the View.
By employing MVVM with SwiftUI, RealInsight achieves a modern, efficient, and scalable architecture. This approach enhances development productivity, facilitates code maintenance, and fosters codebase modularity and testability. Ultimately, RealInsight delivers a seamless and immersive user experience while upholding robust architectural principles.
To get started with RealInsight, follow these steps:
- Clone the Repository:
git clone https://github.com/sergio11/real_insight_swiftui.git
- Open in Xcode: π₯οΈ Navigate to the cloned directory and open the project in Xcode.
- Build and Run: ποΈ Build the project and run it on a simulator or physical device.
- iOS 14.0+
- Xcode 12.0+
- Swift 5.3+
Here are some screenshots from our app to give you a glimpse of its design and functionality.
Contributions are welcome! If you'd like to contribute to RealInsight, please fork the repository and create a pull request with your changes.
For support, bug reports, or feature requests, please open an issue on the GitHub repository.
RealInsight is available under the MIT License. See the LICENSE file for more information.
RealInsight is inspired by the functionality and design of BeReal.
We express our deep appreciation to Freepik for generously providing the resources used in this project.
A huge thank you to Cem Salta for the fantastic SwiftUI course on Udemy! Your teachings have been instrumental in inspiring and guiding the development of this project.
Template mockup from https://previewed.app/template/AFC0B4CB