
Build and explore a social network app using React, Redux, Firebase, and Tailwind CSS, featuring login, post creation, likes, comments, shares, and user profiles.
Create a new React app in the Firebase React Projects folder, run it locally at localhost:3000, and customize the project title by removing the defaults.
Install npm modules for firebase, react-router-dom, redux, and tailwind; create a folder structure with components, pages, redux, reducers, and actions; set up login, register, and home pages using react-router.
Learn how to set up a firebase project for a react app by creating the project, copying the web configuration, installing firebase, and initializing and exporting the app and database.
Tailwind setup guides you through installing tailwind in a react app, updating tailwind.config.js and index.css, and validating styles on the login page using tailwind utilities for colors, sizing, and typography.
Develop the authentication flow for a social media app by designing login and registration pages, configuring a team color in Tailwind, and applying primary color themes across components.
Design and polish login and register pages using Tailwind CSS, creating a custom card, shadows, borders, centered layouts, skewed headers, and responsive color schemes for white and primary backgrounds.
Master firebase email/password authentication in a React app by building a registration form, initializing the Firebase app, creating users with email and password, handling errors, and storing the user email.
Implement Firebase auth integration by registering users with email and password and storing data in a Firestore users collection using setDoc or addDoc, including email, bio, and profile pic.
Create a loader component to display loading, success, and error messages during login and processing states, centering the loader and integrating it with the store to manage loading.
Implement login and registration toast messages using react-toastify to show success and error feedback after API calls. Integrate redux for loader handling and local storage updates.
Set up a redux store and loader reducer, implement show and hide loading via dispatch, connect with react-redux provider, and integrate navigation after login and registration.
Describe the default layout concept for a social network app, building a top header with a reusable layout that renders posts and supports a responsive mobile hamburger menu.
Configure Tailwind screens for responsive header behavior, switch the mobile header to a column layout, and implement a hamburger toggle with React icons to show or hide the menu.
Create the final layout for the social network app with a clean content area, header, borders, and rounded elements using Tailwind CSS, optimized for desktop and mobile views.
Guard the home and login/registration pages with protected routes in a React app using a localStorage user, and navigate or redirect to the login page when unauthenticated.
Design the add new post page with a title, description, image picker and preview, and a submit button that saves to the poster collection in Firebase.
Learn to upload images to Firebase Storage in a React, Redux, Firebase, and Tailwind CSS app, creating storage references, handling blob uploads, and saving image URLs to posts.
Retrieve uploaded images from Firebase Storage, obtain the download URL, and store the image in the post collection after upload.
Store poster details in the poster collection, including description and image, and initialize likes, comments, and the uploading user, then navigate to the homepage to display posts.
Design the home page and post component, then retrieve posts from Firestore with getDocs and render them as a responsive grid of post cards.
Explore building a post component for a social network app, including profile image handling, username extraction from email, and displaying likes and comments with navigation to a post description.
Build a poster description page that shows a big image with like and comment features, using Redux for state and Firebase API calls to fetch post data by its id.
Implement like and unlike posts in a React Redux Firebase app, updating post likes in Firestore and reloading data on the home page for real-time feedback.
Learn to implement like and unlike on posts, show red when the current user has liked a post and gray otherwise, and update the post's likes list accordingly.
Add and show comments lets users view and post comments on posts, toggle visibility, and display each comment with text, author, and date formatted by Moment using Firebase.
Hi Guys ,
In this course we will build a simple social network application with React , Redux , Firebase , Tailwind CSS
React - For Front End
Redux - For State management
Tailwind CSS - For Styling and Reusable Components
Firebase - For Authentication / Storage / Database
Basically a social network is a place / platform where different people in the world connect together for different purposes like chatting , sharing information , posting their daily activities , promotions etc. So we will also build a similar kind of application.
---------------------------------------------------------------------
The topics / concepts covered in this course are
One of the best thing about this course/project is , We Will Not Use Any External Libraries for Components.
Our complete components like forms , buttons , layouts , modals will be built using one and only Tailwind CSS.
So you will build a complete application from scratch.
Tailwind CSS concepts like flex , grid , positions , responsiveness , colours , sizes etc
User Authentication with Gmail , Google
Uploading posts
Post Interactions and analytics
Public layouts and Protected Layouts
State Management with Redux
Likes
Comments
Shares
Infinite scroll
Uploading images to Firebase storage
Deployment to Heroku
React
React is a free and open-source front-end JavaScript library for building user interfaces based on UI components. It is maintained by Meta and a community of individual developers and companies
Redux
Redux is an open-source JavaScript library for managing and centralizing the application state. It is most commonly used with libraries such as React or Angular for building user interfaces. Similar to Facebook's Flux architecture, it was created by Dan Abramov and Andrew Clark
Tailwind CSS
Tailwind CSS is basically a utility-first CSS framework for rapidly building custom user interfaces. It is a highly customizable, low-level CSS framework that gives you all of the building blocks you need to build bespoke designs without any annoying opinionated styles you have to fight to override.
Firebase
Firebase is a platform developed by Google for creating mobile and web applications. It was originally an independent company founded in 2011. In 2014, Google acquired the platform and it is now their flagship offering for app development