4.69 out of 5
102 reviews on Udemy

Complete Facebook App in Swift, Xcode and PHP

Learn to build the full clone of Facebook with all features and functionality with smart programming and big secrets.
Akhmed Idigov
864 students enrolled
English [Auto-generated]
Learn to create the entire Facebook from scratch.
Easily program in Swift.
Easily program in PHP.
Easily write complicated and advance MySQL scripts.
Learn the entire Backend Development.
Easily building complicated, advance and professional logics.
Easily code in the most advance and professional manner which never been taught before.

Wanna be cooler than Mark Zuckerberg who created the Facebook? Now YOU CAN DO IT as well!

Do you want to write a code so easily like you type a message to your best friend? Now YOU HAVE A CHANCE to learn it. Don’t miss it!


In this course, we’re learning how to create the FULL Facebook from scratch. We’re programming all functions and features used by Mark Zuckerberg in his Facebook. Firstly, we’re building the logic of the function by using the schemes and patterns to understand it very well. Secondly, we’re writing a professional code which runs swiftly. Thirdly we’re programming the appearance and the behavior of the user interface. These main Three Steps are well known among the high paid developers. And now we’re working within the same model.


We’re learning a thousands and thousands of features that have never been shown before by any of the instructors around the world. I’ll explain to you every single line of the code, so, at completion you will know all about the coding! You’ll have no questions about the development and coding, because I’ll explain it to you like you’re a 5 years old.


We’re learning to create the entire Facebook from scratch.

We’re learning to develop and program all features and functions used in Facebook.

We’re learning the entire Swift.

We’re learning the entire PHP.

We’re learning the entire MySQL.

We’re learning the entire Server (Backend) Development.

We’re learning to build most complicated logics.

We’re learning easily to program the most complicated codes.

We’re learning to program same as High Paid Developers.

We’re learning all programming secrets that have never been shown before.

And many many other thousand and thousand features.


Login, registration, same user interface, same animations, same appearance, load user from the server, upload post with the picture, upload post without the picture, write a bio, remove a bio, load profile pictures, load covers, edit user’s information, see the full log of activity, log out, load posts from the server, like posts, comment posts, delete posts, delete comments, dislike posts, complain about the post, complain about the user, follow users, send friendship requests, accept friendship requests, reject friendship requests, add friends, remove friends, see recommended users, see all the posts of the followed users, see all the posts of the friends, go to friends home page, comment posts of other people, like posts of other people, use pagination logic, send a notifications, receive a notifications, highlight unseen notifications, search users, use restrictions, use dual functions, auto-layout, alignment, delete notifications, use privacy settings by restricting others to follow you or send a friendship requests and many-many-many-many-many-many-many other thousands-thousands-thousands-thousands features and functions.


• Facebook has been created using the same technology and same programming languages and techniques.

• User Interface and appearance of the Facebook can’t be distinguished from the original.

• Content covered here has never been shown before by any of the developers.


At completion of this course, you’ll be creating the Top Rated Apps just lying in your bed and writing an advance and highly efficient code.

Welcome to the Course

Hello All :)

Starting new Facebook Project and doing introduction to the further adventures.

A Minor Support :)

My message.

Developing the Entire Front-End Login Functionality for Our Facebook

Login - Introduction

Few words about login section.

Files for Download

Files required further.

Developing the Appearance of User Interface Using Same Logic Like in Facebook

Developing the exact appearance of the user interface using the same methods used in Facebook

Building the Appearance of the Buttons, TextFields, Label and other Elements

Developing the appearance of the user interface and implementing textfields, buttons, labels and other elements.

Learning and Implementing Constraints and Auto-Layout to the Cover

Learning and implementing the constraints via auto-layout.

Learning and Implementing Constraints and Auto-Layout to the UI Objects

Learning and implementing the constraints via auto-layout.

Deep Development of the User Interface Appearance - Extreme TextFields

Implementing deep development of programming and customizing textfields.

Deep Development of User Interface Appearance - Extreme Buttons, Views, Labels

Doing deep programming of the appearance of the user interface, especially: buttons, views and labels

Implementing Fully Customized Animation of the User Interface

Doing deep programming of the animation of the user interface same like in the Facebook

Tracking all Keyboard Notifications and Signals of the User Interface

Implementing protocols to track the actions of the keyboard.

Custom Animation of the Cover Like in the Facebook

Implementing the custom animation of the cover of the FaceBook.

Developing the Behavior of the User Interface - Cover Move Up Animation

Implementing custom animation for Move Up effect.

Developing the Behavior of the User Interface - Images Move Up Animation

Implementing custom animation for Move Up effect.

Developing the Behavior of the User Interface - Buttons Move Up Animation

Implementing custom animation for Move Up effect.

What is Notifications and How to Implement Them?

Understanding the main logic of the notifications.

Understanding the Logic of the Programmatic Alignment and Layout of the Objects

Understanding the alternative ways of layout and constraints.

Login - Conclusion

Summary about login section.

Developing Registration Functionality of the Facebook in Front-End

Registration - Introduction

Few words about registration section

Developing Registration Page and Initiating the Relevant Segues

We will develop the registration page and segue.

Creating Programming Class for Registration Process in the Swift

Creating Swift Class for registration and user interface behavior functions.

Building Custom and Deep Logic of Horizontal Swipe of the Page

Developing the exact similar user interface like in the FaceBook. Preparing the base of the horizontal swipe of the page.

Developing User Interface of the Sub-Pages for the Horizontal Swipe

Developing the appearance of all the pages for the registration process.

Aligning All the Objects and Implementing Auto-Layout

Implementing Auto-Layout to remain the same appearance for all the screen sizes.

Custom Corner Radius of the Objects and Look of the App

Learning custom rounded corners of the user interface for better look.

Working with Paddings and Implementing it into the Project

Implementing paddings and developing front-end.

Learning Regular Expressions and Implementing it for Data Validation

Validating input data using regular expressions.

Validating Entries for the Registration

Allowing the users only provide the real and valid information.

Creating and Scrolling Horizontally Sub-Pages of the Main Page

Programming several pages in the one page and implementing the scrolling feature.

Programming and Implementing Custom DataPicker and Custom Keyboards

Programming custom DatePicker and implementing it to the application.

Programming and Integrating Custom Gestures and Finalizing Registration Function

Programming custom gestures and finalizing the entire registration function in the front-end.

Deeply Programming the Backend and its Behavior with all PHP protocols.

Required Softwares and Tools for the Backend Development

Downloading all required softwares and tools for free.

Understanding How Servers Work and Communicate with the App

Learning Material to understand how servers are working and communicating with the application.

Creating Database and Table to Store All Information of the Users

Creating the database in our server and creating the table to store all the information about the users.

Constructing the Class and Building the Connection with the Server

Writing first PHP functions to construct the class and establish the connection

Understanding the Entire Communication of the Server and the App in Details

Learning Materials to understand how communication works between the app and the server.

Passing and Receiving Information in PHP Protocols

Understanding how Json works.

Learning How to Secure and Protect the Data in the Server

Learning how to secure the data in the server.

Sending the Information to the Server and Checking the Availability of Login

Sending details via PHP protocol to the server and checking is the email available or not.

Inserting New User Into the Server and Database via PHP Protocols

Sending the data to the server to be saved for the further login.

Fetching Users ID from the Server for Further Actions

Fetching ID of the user from the server to be used further for any required actions.

Sending the Registration Request and Data to the Server From the App.

Sending the data to the server from the app via HTTP request.

Receiving the Response from the Server after the Registration from the App

Receiving all responses from the server and arranging data fetch.

Developing the Entire Backend Functionality of the Login Feature

Understanding in Details the Logic of the Login Function

Learning and understanding how the login function works.

Receiving Data in PHP for the Login

Receiving the passed data to the PHP file for the verification.

Establishing the Connection with the Server for the Login

Building the connection with the server for the login function.

Processing the Login after Receiving the Data in the Server

Confirming the existence of the user in the server to process the login.

Receiving the Login Response from the Server

Receiving the responses from the server of the login.

Processing the Login from the Facebook

Data Verification Before the Login Request

Verifying the entered data before sending the request to the server for the login.

Processing the Login and Receiving Confirmation Response from the Server

Sending the server request to the database for processing the login.

Entering the Facebook after the Registration and the Login

Learning Hot To Consider and Program All Possible Scenarios in the Project Logic

Programming all possible scenarios and its actions.

Learning How To Develop the Home Page

Creating the Home Page. After the login or registration, user will be redirected to the Home Page.

Learning How To Save the User after the Login or Registration

Learning how to save the user after the login or registration.

Learning How to Send Files to the Server and Upload Profile Picture and Cover

Learning How to Develop the Home Page and Work with the Objects

Developing the user interface of the home page.

Files for Download

Media files required in the next videos.

Developing the Appearance and the Look of the Home Page to be Same Like Facebook

Working on the appearance and the look of the user interface.

Developing Custom Action Sheet of the ImageViews to Select Several Images

Developing custom action sheet with the dual functionality.

Implementing the Logic for Distinguishing ImagesViews and Assigning the Pictures

Integrating the logic of distinguishing the imageViews and assigning the relevant images.

Creating CALayers for Improving the Appearance for the ImageView

Creating the CALayers and integrating them to the imageViews.

Developing the Backend for Updating the Images and the Files

Writing the backend protocols for updating the path of the files.

Developing Dedicated Class and Protocols for Uploading the Files to the Server

Creating the dedicated PHP class for uploading the images.

Sending JSON Information from the Server to the Facebook

Receiving updated JSON information from the server.

Learning MIME Type for the Parameters

Programming the MIM Type to send the files to the servers.

Sending the Files to the Server from Facebook

Uploading the files to the server using the application.

Saving the Entire Information in the Application's Memory

Saving all information in the memory of the application.

Loading User Information from the Server and Showing it in the Facebook App

Downloading the Full Name and Profile Picture from the Server

Downloading the general user information required for the user interface.

Implementing Bio Data in the Server using PHP and Swift

Implementing Bio Column and logic into the database.

Developing the Logic of Showing and Hiding the Bio

Developing the logic of showing and hiding Bio label and showing and hiding Bio button.

Improving the Code and User Interface Behavior of the Facebook

Updating the code by making it more professional to avoid any bugs.

Creating and Developing Bio Function of the Facebook

Developing the User Interface for the Bio Page

Creating the Bio Page.

Programming the Appearance and the Style of the Bio Page

Writing the code to configure the objects.

Implementing and Programming Placeholders

Hiding and showing the placeholder in the TextView.

Restricting the Entry of the Characters of the Bio

Allowing only certain number of characters in the bio.

Programming and Writing PHP Protocol to Update the Bio in the Server

Writing PHP protocol to update the bio in the server.

Developing the Dedicated Backend Class for Updating the Bio in the Server

Creating and programming the dedicated PHP class for updating the bio in the home page.

Sending New Bio to the Server from the Facebook

Sending new bio to the server from our application.

Implementing Notification's Post to Update the User Interface

Posting and catching notifications to update the user interface.

Implementing Functions to Delete and Write a New Bio

Deleting and writing new bio.

Updating PHP Backend Protocols for Better Performance

Fixing bugs and updating the PHP protocols for better performance.

Developing and Creating Functionality to Publish the Posts Like in the Facebook

Developing the Page for Publish the Posts from the Facebook

Developing the page for publishing the posts.

Developing the Objects on the Post Page

Developing and integrating the objects to be placed on the post page.

Implementing Auto-Layout for all the Objects on the Post Page

Using constraints and auto-layout for aligning the objects on the post page.

Programming Protocols for Downloading the User Information for the Post Page

Writing functions to load user information for the post page.

Integrating the Placeholder and Its Logic for the Post Page

Developing the placeholder for the post page and its logic for hiding and showing it.

Programming the Behavior of User Interface of the Post Page

Programming the user interface behavior for the post page.

Creating the Database to Store All Post Related Informations

Creating the table in the database to store all the posts.

Programming PHP Backend Protocols to Upload Pictures of the Posts

Writing a code to program the PHP protocols to upload the pictures to the server.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.7 out of 5
102 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


48 hours on-demand video
13 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion