
Learn to build a be real clone from scratch with SwiftUI, Firebase, and Combine. Cover authentication, data and backend management, image processing, a custom camera, OTP login, feeds, and profiles.
Build a BeReal clone settings page in SwiftUI with a profile header, navigable menu items like memories and time zone, and reusable rounded rectangles and stacks.
Create the edit profile view in a BeReal clone app, enabling users to update profile picture, full name, username, bio, and location with SwiftUI UI elements and placeholder handling.
Design and implement a left menu with a search bar in BeReal UI, switchable sections (suggestions, friends, requests) via animation, and handle editing state for the search bar in SwiftUI.
Build the BeReal UI suggestions page with a scrollable left menu, invite friends feature, and reusable suggestion cells using SwiftUI components.
Design the BeReal UI FriendsView in SwiftUI, mirroring the suggestions view with a scrollable list of friend cells, including profile image, name, username, and an x mark.
Finish the BeReal left menu by building bottom-aligned, gradient-styled capsules for suggestions, friends, and requests; switch views with tap gestures and show the corresponding content using a menu state.
Develop the help and contact us screens for the BeReal clone using reusable chevron button views, standardized button layouts, and SwiftUI stacks to push content to the top.
Build the memories view in the BeReal UI, enabling users to deactivate memories and view activation status, with a stacked layout and a red deactivate memories button.
Develop be real style navigation by connecting profile to a settings hub with SwiftUI navigation links, and implement back navigation using environment dismiss across multiple views.
build the enter name view for a BeReal clone using SwiftUI, featuring a custom text field, name state, and a continue button that activates when the name is entered.
Build BeReal's enter age view, extending registration to capture name and birthday (month, day, year) with SwiftUI stacks, text fields, bindings, and input validation, plus a continue button.
BeReal UI #22 completes the enter phone number view, letting users pick a country with a flag and code, enter their number, and proceed toward authentication.
BeReal UI #23 presents the enter code view for a six-digit OTP in a SwiftUI authentication flow, with a 60-second countdown and a continue or resend option.
Explore the backend of the BeReal clone app and access full source code via the resource link and Gumroad page, featuring image uploader and camera view for the feed viewer.
Build a BeReal clone by implementing an authentication view model and Firebase integration, enabling phone OTP authentication, user verification, and data persistence with Firestore using SwiftUI 5.
Explore populating BeReal clone user data with Firebase authentication, a local user model, and SwiftUI view models, including testing with virtual numbers and initials-filled profile placeholders.
BeReal #30 demonstrates populating the app with server-fetched user data and displaying the current user's profile image and name via an environment-passed authentication view model for the edit profile flow.
Populate edit profile fields from the current user in a BeReal clone. Implement local save logic with state strings and a save button to update name, bio, and location.
Develop a generic image uploader for a BeReal clone using SwiftUI and Firebase, handling profile and post images, storage references, and URL retrieval.
Activate Firebase storage to store images, enable uploading via a SwiftUI image picker, and integrate a UIKit image picker into the edit profile view for BeReal #34 - image picker.
BeReal clone: display the profile image in settings, profile, and feed using Kingfisher to load from a profile image URL, with placeholders and cache refresh.
Learn to build a BeReal style camera view in SwiftUI, post reels to a feed, and connect image uploads to Firebase storage and database by adjusting read/write rules.
Enable image selection in the BeReal clone by presenting an image picker on click, converting the chosen UI image to SwiftUI, and displaying it in the feed view.
BeReal #39 finalizes the camera view by presenting the front image picker three seconds after selecting the back image and revealing a send button after both images are taken.
Connect the camera view with its view model to upload front and back images to Firebase, store their URLs, and post BeReal entries using asynchronous functions and error handling.
Organize your BeReal clone project with MVVM by grouping models, view models, and views, then place helpers, extensions, and assets into dedicated folders for feed, profile, memory, settings, and authentication.
Integrate the camera view into the feed, enable posting a BeReal, and wire up the feed view model to fetch data from Firebase, with planned dismiss and real data handling.
Fix bugs in the feed cell and implement a blur feature by separating front and back images in a zstack, using swiftui and firebase for a BeReal clone.
This course has been written and recorded with the latest iOS 16 release!
Welcome to the BeReal from Scratch course! In this course, I will teach you how to make money by developing indie apps while developing a real-world app like BeReal.
My name is Cem and I am the founder of Turma app, teaching over 5000 students.
Today, the app market is more open to innovation and indie developers more than ever as big app monopolies are being restricted by Apple. This situation presents a great opportunity for indie app developers like you to make unprecedented gains.
In this course, we will be building BeReal from Scratch including both the Backend and Frontend side of the application using SwiftUI, Combine, Firebase, and other third-party packages.
This project-based learning method will help you understand abstract concepts such as Authentication, Data management, and Image processing.
You get step-by-step instructions for each technology in the SwiftUI framework, and see how to use the different views, initializers, methods, and modifiers that are available for each of those technologies.
Do not forget, in this course, we emphasize quality over quantity. Therefore, you can expect to learn about concepts, design patterns, and functionalities that are not covered anywhere else. These include creating a “Custom Camera View”, “Phone Number Authentication” using OTP Systems, and integrating third-party packages into the main code.
Do not worry if you are a beginner, I will be presenting the concepts in a step-by-step manner where you will learn the basics of SwiftUI by building the User Interface, then we will move onto more complex topics using ViewModels and the Backend Data Management parts of the application.
You will also have access to a library of code for many functionalities that you can utilize in your own applications like authenticating users, creating a Feed, and customizing profiles.
All of the best practices that you will learn in this course will get you ready to work as a Junior IOS Developer or let you start your own app like I once did.
No more fumbling through Apple's convoluted docs for hours trying to find the code you need, or wasting time looking on Stack Overflow, your getting all the instruction and code you need…you just need the idea for the app, and you’re ready to go.
Over the years, I have done many Hackathons and taught IOS Development to people from various backgrounds. Therefore, I have a sense of making ideas and concepts easier for people to understand.
As a student of my course, you will be saving a lot of time as all of the content in this course is up-to-date with the latest technologies and latest versions of Swift and Xcode that Apple has released.
Me and my team will provide you with live assistance with a 36-hour reply guarantee during the lifetime of this course.
Here are some of the topics covered:
App Development • Swift Language (complete language) • Protocols • Frameworks • User Interface • View Protocol • Opaque Types • Text • Modifiers • Color View • Image View • Event Modifiers • Custom Modifiers • Async/Await • Layout • Safe Area • Priorities • Alignment Guides • Groups • Custom Views • Previews • Preview Modifiers • Environment • Property Wrappers • @State • @Binding • @Environment • @AppStorage • Model • Observable • @EnvironmentObject • View Model • Combine Framework • Publishers • Subscribers • Transforming values • Operators • Subjects • Controls Button View • TextField View • SecureField View • Toggle View • Slider View • Stepper View • Navigation View • NavigationLink View • TabView View • Sheets • Popovers • Alert Views • Action Sheets • Split Views • Custom Navigation • Size Classes • Orientation • GeometryReader View• Preferences • Conditional Code • Menu • Multiple Windows Support • Lists • ForEach View • ScrollView • List View • Sections Edition Mode • Custom Buttons • Search • Picker View • DatePicker View • Forms • Shapes • Charts • Gradients • Images • Paths • Custom Shapes Transformations • Animations • Hit Testing • Transitions • Gesture • Notification Center • System Notifications • User Notifications • Provisional Notifications • User Defaults • File Manager • URLS and Paths • Files and Directories • Bundle • Archiving • Encoding and Decoding • JSON •• Core Data Model • Core Data Stack • Sort Descriptors • Swift Language .• And much more.
This course has been written and recorded with the latest iOS 16 release!