We are just published a course on the freeCodeCamp.org YouTube channel that will help you improve your skills with Supabase and Angular. In this course, you will learn how to build a real-time chat application. The course is perfect for anyone looking to expand their web development skills.

Angular is a popular framework for building web applications. Developed by Google, it allows developers to create dynamic, single-page applications (SPAs) with a clean and efficient architecture. Angular provides a comprehensive solution that includes everything from data binding and dependency injection to routing and state management.

Supabase is an open-source backend-as-a-service platform that helps you build secure and scalable applications. It offers real-time capabilities, a PostgreSQL database, authentication, and storage services. Supabase makes it easy to set up and manage your backend without needing extensive server-side knowledge.

Deji from the Code Angle developed this course. Here are the sections he included in this course.

1. Introduction and Project Demo

Get an overview of the project and see the final product in action. This will help you understand what you’ll be building throughout the course.

2. User Interface Setup

Learn how to set up the user interface for your chat application. This section covers the basics of designing a clean and functional UI using Angular.

3. Setting up a New Supabase Project

Dive into Supabase and set up a new project. Supabase is a powerful backend-as-a-service platform that provides real-time capabilities and a PostgreSQL database.

4. Setting up Google OAuth using the Google Cloud Platform

Implement Google OAuth to allow users to log in using their Google accounts. This section covers the setup and configuration of Google Cloud Platform to enable authentication.

5. Angular Router Configuration

Configure the Angular router to manage navigation within your application. This ensures smooth transitions between different parts of your app.

6. Setting up the Authentication Service

Create an authentication service to handle user login and logout functionality. This service will be integral to managing user sessions.

7. Creating the CanActivate Route Guard

Implement route guards to protect certain routes within your application. This ensures that only authenticated users can access specific parts of your app.

8. Setting up the Chat Tables and the Users Table in Supabase

Set up the necessary database tables in Supabase to store chat messages and user information. This section covers the schema design and data management.

9. Implementing the Functionality to Create a New Chat

Add functionality to create new chat rooms. Users will be able to start new conversations with ease.

10. Resetting the Form on Submit and Disabling Button for Validation

Ensure your forms are user-friendly by resetting them on submit and disabling buttons for validation. This enhances the overall user experience.

11. Fetch and Display Chats from Database

Learn how to fetch chat messages from the database and display them in your application. This section covers real-time data updates to keep your chat app dynamic.

12. Implementing the Delete Message Functionality

Add functionality to delete messages. Users will have the ability to remove their messages from the chat.

13. Hosting the App using Vercel

Deploy your chat application using Vercel. This section covers the steps to get your app live on the web.

14. Outro

Wrap up the course with final thoughts and next steps.

You can watch the full course on the freeCodeCamp.org YouTube channel (2-hour watch).