Skip to content

thanhtutzaw/facebook-ui

Repository files navigation

logo

Facebook - SSR Web Application with Next.js and Firebase

Demo . Youtube Playlist


Project is created with:

Features

☑️ Easily navigate between tabs by dragging
☑️ Sign up with Email & Password
☑️ Sort the posts by their creation time (createdAt)
☑️ Dyanmic Routes for Author Profile and Post
☑️ Fetch All posts using server-side rendering (SSR), excluding posts that are marked as "Only Me"
☑️ Get more (posts , comments and liked users) with Infinite scrolling
☑️ Fetch Posts with author details , like count , comments and shared post
☑️ Allow users to view comments and liked users
☑️ Allow users to update their profile by modifying their userName, bio, and profile pictures
☑️ Creating new posts and Updating with customizable privacy
☑️ Liking/commenting on existing posts,comments and sharing posts with others
☑️ Select and Delete Multiple Posts
☑️ Users have the ability to save their favorite posts
☑️ Implement media (photos and videos) upload functionality by leveraging the power of Firebase Cloud Storage
☑️ Enable image preview layout and zoom capability for a better user experience
☑️ Store the id_token in cookies with nookies to fetch SSR data with the stored uid
☑️ Friends Request , acceptable and blockable
☑️ Friends Request Sound play in App Mode (Add to HomeScreen due to Browser Autoplay ploicy)
☑️ Users will receive notifications when their posts and comments are liked,commented and shared by other users
☑️ Crop the profile picture to 256x256 pixels to ensure it displays with the correct aspect ratio in the notification icon
☑️ Notification actions are also enabled to enhance the user experience without the need to open a web page.
Available actions are "accept-FriendRequest" , "like-comment" , "reply-comment"
☑️ Push notificatons to multiple devices with Firebase Cloud messaging for foreground and background notificatons.

User-Interface

Demo Video

Demo Facebook Clone

PlayList on Youtube

Comment Reaction

Comment Reaction

PlayList on Youtube

Comment Reaction

Comment Reply

PlayList on Youtube

facebook-ui

Demo

logo Facebook-ui-zee

Setup

To run this project, install it locally using npm:

git clone https://github.com/thanhtutzaw/facebook-ui.git
cd facebook-ui
cp .env.local.example .env.local
npm install
npm run dev