Watch Intro Video


React is a declarative, efficient, and flexible JavaScript library for building user interfaces. It lets you compose complex UIs from small and isolated pieces of code called “components”.


Firebase provides a realtime database and backend as a service. The service provides application developers an API that allows application data to be synchronized across clients and stored on Firebase's cloud.


Students learn best when they’re putting what they learn in to practice straight away, so we’ve build this course around one really great project (which will look fantastic in your career portfolio!):

In this course we are going to build application where users can participate in different services that can improve users expertise in various fields.

We will start with the basics of React JS framework. We will create initial layout, first pages and routing .

First section will be not only about React JS . To make our application dynamic and up to the standards we need database. Database we will use in this course is cloud Firestore from Firebase. IN Firestore we will keep different types of data as for example services, offers, collaborations and users.

After first section you will start learning about firebase authentication. I will show you how to login and register with firebase. After user will be logged in we will display our application with couple of modifications only authenticated user can see.

Main idea of this application is to offer and subscribe to various services. For this reason we will implement page. where users can create service and where i get you familiar with form validation as well

After service will be created it will be displayed on Home page and offered to other users.

Later we will be creating functionality to trade services between the users. Every logged in user can make an offer for a service. After offer is submitted then its up to service owner if he is willing to accept or decline an offer. In case service owner will accept offer then user can create collaboration.

Once collaboration is created then service owner will receive message to participate in collaboration. When all of the users are joined into collaboration then collaboration can be started for specific amount of time and users can exchange messages. After collaboration is finished, messaging is disabled.

In last section I will be talking about security rules for Firestore and finally we will deploy are application to Heroku so you can share it with your friends and family. This is just short preview of all of the features and there is much much more prepared for you.

With over 24 hours of on-screen instruction, it doesn’t matter whether you’re planning to start your career as a developer, or just want to improve your programming skills, this is the right course for you!

So what are you waiting for? Enrol now!!


  • Javascript and ES6 knowledge is required!

  • Base Html and CSS is required

Course Curriculum

  • 1


  • 2

    React Basics

    • Section introduction

    • Project initialization

    • Framework deep dive

    • Functional component

    • Class vs functional component

    • What is state

    • State in functional component

    • Counter functional component

    • Counter class component

    • Props in class component

    • Props in functional component

    • Previous data in functional component

    • Jsconfig

    • Init layout and styles

    • Iterate services

    • Service item component

    • Routing

    • Create link and navbar section

  • 3

    State Management

    • Section introduction

    • What is redux

    • Connect function

    • Dispatch action and simple reducer

    • Services reducer

    • Add logger to dispatch

    • Init firebase

    • Redux promises

    • Middleware improvements

    • Add service detail page

    • Service reducer

    • Add API

    • Reducer improvements

    • Spinner component

    • Is fetching state

    • Redux thunk

    • Caching improvements

    • Enhancers

  • 4


    • Authentication

    • Login and register page

    • Add useForm package

    • Validators

    • Custom validators

    • Custom validators part 2

    • Register user

    • Create user profile

    • Handle register response

    • Handle login

    • Structural changes of app

    • Watch auth state changes

    • Display UI auth changes

    • Handle logout

    • Fresh js loading

    • Fresh js loading part 2

    • Reset auth state

    • High order component

    • Custom HOC

    • Small improvements dispatch

  • 5

    Service Feature

    • Section introduction

    • Service create page

    • Handle form submit

    • Create service

    • User services page

    • User services reducer

    • User services reducer rework

    • Modal component

    • Add modal content

    • Create user ref

    • Structural changes in API

  • 6

    Offer Feature

    • Section introduction

    • Create offer

    • Send and received offers

    • Fetch offers

    • Display offers and extract data

    • Display offer in service item

    • Accept and decline offer button

    • Accept and decline offer

    • Create collaboration and messages

    • Create collaboration API

    • Mark offer as in collaboration

  • 7

    Messages Feature

  • 8

    Collaboration Feature

    • Section introduction

    • Auth reducer refactor

    • Collaboration list page

    • Collaboration detail

    • Firebase function

    • Check user connection

    • Check online status in firestore

    • Set offline in logout

    • Subscribe to collaborations

    • Display joined people

    • Watch profile changes

    • Display correct status

    • UI color changes of status

    • On send message function

    • Subscribe to messages

    • Display messages

    • Clean messages and start collab button

    • Count expiration time

    • Time component

    • Timer fix

    • Handle collab status

    • Small fixes

    • Improvements in detail page

  • 9

    Firestore Rules

    • Section introduction

    • Rules introduction

    • Services rules

    • More rules

  • 10

    Application Improvements

  • 11


Software Engineer

Filip Jerga

My name is Filip Jerga and I am an experienced software engineer and freelance developer. I have a Master's degree in Artificial Intelligence and several years of experience working on a wide range of technologies and projects from C++ development for ultrasound devices to modern mobile and web applications in React and Angular. Throughout my career, I have acquired advanced technical knowledge and the ability to explain programming topics clearly and in detail to a broad audience. I invite you to take my course, where I have put a lot of effort to explain web and software engineering concepts in a detailed, hands-on and understandable way.


  • How to get help when I am stuck with the course?

    Every video contains discussion where you can create a post describing an issue. Instructor responds usually within 1 business day.

  • What to do when I am unhappy with the course ?

    Within 30 days from the purchase you can ask for a full refund. No questions asked. Your happiness is our priority.

  • What to do when I am unhappy with the course ?

    Within 30 days from the purchase you can ask for a full refund. No questions asked. Your happiness is our priority.

Eincode Access Options

  • Single Course Access

    • Lifetime and unlimited Access to "React JS & Firebase Complete Course (incl. Chat Application)"


    Access to this course only.

    Get started now
  • Monthly Membership

    • Unlimited Access!
    • Access to any current course!
    • Access to future courses!

    $19.00 / month

    Cancel Anytime!

    Get started now
  • Annual Membership

    • Unlimited Access!
    • Access to any current course!
    • Access to future courses!

    $190.00 / year

    Cancel Anytime!

    Get started now