
Build a doctor appointment booking app with React, Redux Toolkit, a design library, and Firebase. Explore role-based flows for users, doctors, and admins, including doctor applications, appointments, and slot management.
Set up a new react app for a doctor appointment booking project, configure the folder structure, clean defaults, and prepare for Firebase integration, npm modules, and an entity library demo.
Install the entity UI library, redux toolkit, and firebase for the doctor appointment app, explore Ant Design components, and enable routing with react-router-dom for login and registration pages.
Set up a login and registration flow in a React app by creating login and register pages, wiring routes, and building a centered vertical form with name, email, and password.
Learn to implement name-based form items with an onFinish handler to capture and log login and register values without state variables, then navigate between pages and prepare for firebase integration.
Configure Firebase for the app by initializing the Firebase app, enabling authentication, and wiring the Firestore database with CRUD operations for a web app in production mode.
Develop a new api call that adds user documents to the Firestore users collection during registration, with error handling. Implement password encryption and duplicate user checks in the next lecture.
Learn to enforce duplicate users restriction and secure passwords by hashing with crypto-js on the frontend, while querying Firestore to prevent existing emails and then store encrypted passwords.
Develop and validate the login flow for the doctor appointment booking app using React and Firebase, including email lookup, password decryption, error handling, and navigation to the home page.
Implement a protected route layout in a React app by checking local storage for authentication and routing users between home, login, and profile.
Set up Redux Toolkit for the doctor appointment app by creating a loader slice, configuring the store, and providing it to the app to manage loading during Firebase requests.
Implement a redux-controlled loader with a spinner on login and registration pages, showing a full-page overlay during firebase or backend API requests.
Describe role-based access in a doctor appointment app, including user, doctor, and admin flows for authentication, doctor applications, approvals, time slots, and appointment booking.
Build a protected doctor application form in a React app, capturing personal and professional details, work hours, days, and contact information with validation, preparing to save to Firestore.
Develop the doctor API by saving doctor records to firestore, handling loading and validation, and navigating after approval while enforcing a pending status and preventing duplicates.
Implement an admin panel with two tabs for users and doctors, enabling status changes from pending to approved or blocked using firebase and admin routing.
Build the users and doctors lists in a React app with Firebase Firestore, map id and data, and feed a table with columns and dataSource.
Learn to approve or reject doctor status, update status in firebase firestore, and adjust user roles to doctor from the admin panel.
Display the approved doctors on the home page as tiles, then navigate to each doctor's profile to view timings and book a slot, using React state and data fetching.
Build and style the doctor appointment booking page, including border radius on inputs and buttons, render doctor details, and fetch data by id from Firestore via a book appointment route.
Show slots teaches you to display doctor availability by date, generate hourly slots from start time to end time, and differentiate booked from available slots.
Learn how to implement booking slots in a React and Firestore app by building an async book appointment function that stores appointments and navigates to the profile page on success.
Learn to fetch doctor appointments by date using the doctor ID, identify booked slots, and render them as blocked or disabled to prevent double bookings.
Show the appointments list for doctors and users by role in the profile. Present doctor bookings and user bookings with fields like date, time, doctor, and booked on.
Learn to add a reason field and manage appointment status from pending to accepted or rejected, with slot blocking and release on rejection, plus doctor approves or cancels actions.
In this course, you will learn the following concepts.
React Firebase Integration
User Authentication with Fire store database
Separate UI for normal users and admin, doctor
Admin can access all the users and doctors, information.
The doctor has to get the admin approval to get access by providing the required details
A doctor can specify his work hours and fee in the application form
Users can able to book doctor appointments based on availability.
A doctor can able to see all the appointments booked for his profile.
A user can also see his future appointments with the status.
If the doctor rejects/cancels the appointment request the slot will be released.
Admin will also be having the access to all the doctor's appointments.
If any suspicious activity happens, the admin can block both user and doctor accounts.
React is a JavaScript library for building user interfaces.
Declarative: React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable, simpler to understand, and easier to debug.
Component-Based: Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep the state out of the DOM.
Learn Once, Write Anywhere: We don't make assumptions about the rest of your technology stack, so you can develop new features in React without rewriting existing code. React can also render on the server using Node and power mobile apps using.
Firebase is an app development platform that helps you build and grow apps and games users love. Backed by Google and trusted by millions of businesses around the world.