HRD Corp Claimable Malay & English

Mastering Advanced Laravel : APIs, Notifications, and Queues

4 days
Duration
RM 3,900
Price
0
Sessions
& On-site
Delivery
Yes
HRD Claimable
Malay & English
Language
4 days
Duration

About This Course

This 4-day training program, "Mastering Advanced Laravel: APIs, Notifications, and Queues," is designed for programmers with PHP and Laravel experience who want to elevate their skills and build robust, scalable web applications. The course focuses on essential advanced features of Laravel, including REST API development, integrating notifications (email, database, and third-party services), and implementing background tasks with queues and workers.

 

Through hands-on exercises and real-world examples, participants will gain practical knowledge to design secure APIs, manage notifications across multiple channels, and optimize application performance using Laravel's powerful queue system. This course is perfect for developers aiming to create modern, high-performing web applications.

Learning Outcomes

By the end of this 4-day training program, participants will have a solid understanding of key Laravel features and will be able to apply them effectively in real-world projects. Specifically, participants will be able to:

  • REST API Development

    • Design and implement RESTful APIs using Laravel, adhering to best practices for structure, authentication, validation, and error handling.

    • Build secure, token-based APIs using Laravel Sanctum for authentication.

  • Email Integration and Notifications

    • Configure Laravel to send emails via different mail services, and create dynamic, customizable email templates using Blade.

    • Leverage Laravel's notification system to deliver messages through multiple channels, such as email, database, and third-party services (e.g., SMS or Slack).

    • Store and manage notifications in the database, retrieve them, and track their status.

  • Asynchronous Task Handling with Queues and Workers

    • Set up and manage Laravel's queue system to handle background tasks and improve application performance.

    • Create and dispatch jobs for complex or time-intensive processes, and manage workers to process queues efficiently.

    • Handle failed jobs, prioritize tasks, and implement delayed jobs for advanced queue management.

  • Real-World Application

    • Apply learned concepts in a practical, integrated mini-project that combines REST APIs, notifications, and queues.

    • Demonstrate an ability to build scalable, efficient, and modern web applications using Laravel's advanced features.

This program is designed to enhance the participants’ Laravel development skills, enabling them to tackle advanced use cases in their own projects and contribute to high-quality, maintainable codebases.

Prerequisites

Participants are expected to have basic knowledge of

  • HTML
  • CSS
  • PHP
  • Laravel

Course Outline

Day 1: REST API Development

Morning Session

Welcome Note & Ice Breaking


Introduction to REST APIs


  • Lecture: Discuss the principles of REST APIs and best practices.

  • Activity: Set up a basic Laravel project to serve as the foundation for the REST API.

  • Exercise: Configure routes in api.php and create simple controllers to handle basic CRUD operations.


Building a CRUD API


  • Lecture: Explanation of Laravel Resource Controllers, Eloquent models, and migrations.

  • Activity: Create a Product resource with fields like name, description, and price.

  • Exercise: Implement CRUD operations for the Product API (Create, Read, Update, Delete) with appropriate validation.

Afternoon Session

Advanced REST API Features


  • Lecture: Discuss API Authentication (Sanctum) and authorization using middleware.

  • Activity: Set up API token-based authentication with Laravel Sanctum.

  • Exercise: Protect Product routes by implementing Sanctum authentication middleware.


Error Handling and Validation


  • Lecture: Best practices for error handling and response structure in APIs. Using form request validation to clean up controllers.

  • Activity: Implement custom error responses and global exception handling.

  • Exercise: Add form request validation to the Product CRUD API and test error responses.

Day 2: Sending Emails and Notifications

Morning Session

Previous Day Review


Email Basics with Laravel Mailable


  • Lecture: Overview of Mailables, configuring mail services (SMTP, Mailtrap), and sending emails.

  • Activity: Configure email settings in .env for testing (using Mailtrap for easy email testing).

  • Exercise: Create a Mailable for sending a welcome email to new users. Use Blade templates to design email content.


Practical Exercise: Sending Email on User Registration


  • Activity: Extend the user registration process by sending an email upon registration.

  • Exercise: Implement a registration form and send a welcome email upon user creation.

Afternoon Session

Introduction to Notifications


  • Lecture: Difference between Mailables and Notifications. Overview of notification channels (email, database, SMS, etc.).

  • Activity: Configure the basic notification system in Laravel and send notifications via email and database.

  • Exercise: Create a basic notification for a Task model and send it via email.


Database Notifications


  • Lecture: Discuss database notifications, including how to store notifications in the database and retrieve them.

  • Activity: Set up a notification table and use Notification::send() to store notifications.

  • Exercise: Implement a database notification that tracks new tasks and displays them on the user dashboard.

Day 3: Third-Party Notifications and Queues

Morning Session

Previous Day Review 


Third-Party Notifications (Twilio/Slack)


  • Lecture: Introduction to integrating third-party services like Twilio for SMS or Slack for team notifications.

  • Activity: Set up a Twilio account and integrate it with Laravel using a notification channel.

  • Exercise: Send a notification (SMS or Slack message) when an order is placed or a task is created.


Practical Exercise: Send SMS or Slack Notification


  • Activity: Configure the Slack or Twilio channel for notifications in Laravel.

  • Exercise: Implement a system where a new task or order triggers an SMS notification to the user or a message in a Slack channel.

Afternoon Session

Introduction to Queues


  • Lecture: Overview of queues and background job processing in Laravel.

  • Activity: Set up Laravel queues using the database driver for simplicity.

  • Exercise: Queue an email-sending job (welcome email) for processing in the background.


Practical Exercise: Use Queues for Email Sending


  • Activity: Create a job class that handles the sending of the welcome email in the background.

  • Exercise: Queue the job and test it by dispatching the email asynchronously.

Day 4: Advanced Queue Management and Final Project

Morning Session

Previous Day Review 


Advanced Queue Features


  • Lecture: Discuss advanced queue topics, including job prioritization, delayed jobs, and handling failed jobs.

  • Activity: Set up delayed and prioritized jobs using different queue connections.

  • Exercise: Implement a queue with multiple priorities for different types of jobs (e.g., high-priority order notifications vs. low-priority bulk email tasks).

  •  

Practical Exercise: Queue Delayed and Prioritized Jobs


  • Activity: Create a job to send an urgent SMS and a non-urgent report email.

  • Exercise: Use the queue to send notifications and reports, ensuring that urgent jobs are processed first.

Afternoon Session

Final Hands-On Project: Build a Mini-System


  • Activity: Integrate REST APIs, notifications, and queues into a mini-project.

    • Develop an API to manage tasks with CRUD operations.

    • Create notifications for task updates (email + SMS/Slack).

    • Implement a queued job to generate and email a summary report of tasks.

  • Exercise: Work through the project, applying everything learned during the course. Participants will complete a fully functional system that interacts with the REST API, sends notifications, and processes tasks in the background.


Q&A and Wrap-Up


  • Activity: Recap all concepts covered in the course and answer any outstanding questions.

  • Exercise: Provide guidance on how to apply the lessons to real-world projects. Discuss deployment strategies and potential optimizations.

  • Final Challenge: If time allows, ask participants to tweak and extend the mini-project by adding features such as user authentication or reporting.

 

Upcoming Sessions

There are currently no scheduled sessions for this course.

We'll notify you when new sessions are scheduled

Your Instructor

Khairil-Iszuddin bin Ismail

Khairil-Iszuddin bin Ismail

Professional Experience

View Full Profile
Graduated from Universiti Teknologi Malaysia with a bachelor’s degree in computer science in 2001, Kharil Iszuddin Ismai...
Web Development with PHP & MySQL PHP Laravel Web Framework PHP Codeigniter Web Framework MySQL Database Management RESTful API Development with PHP & Fusio API Gateway Git - Source Code Management & Version Control Deploying Web Application on Cloud Infrastructure (AWS, Linode or Digital Ocean) Web Server Management with RunCloud Web Application Cloud Deployment Infrastructure

Questions?

Our training experts are here to help

Mastering Advanced Laravel : APIs, Notifications, and Queues
Image Placeholder
Back HRD Corp Claimable Malay & English
Duration
4 days
Price
RM 3,900

Mastering Advanced Laravel : APIs, Notifications, and Queues

This 4-day training program, "Mastering Advanced Laravel: APIs, Notifications, and Queues," is designed for programmers with PHP and Laravel experience who want to elevate their skills and build robust, scalable web applications. The course focuses on essential advanced features of Laravel, including REST API development, integrating notifications (email, database, and third-party services), and implementing background tasks with queues and workers.

 

Through hands-on exercises and real-world examples, participants will gain practical knowledge to design secure APIs, manage notifications across multiple channels, and optimize application performance using Laravel's powerful queue system. This course is perfect for developers aiming to create modern, high-performing web applications.

Learning Outcomes

By the end of this 4-day training program, participants will have a solid understanding of key Laravel features and will be able to apply them effectively in real-world projects. Specifically, participants will be able to:

  • REST API Development

    • Design and implement RESTful APIs using Laravel, adhering to best practices for structure, authentication, validation, and error handling.

    • Build secure, token-based APIs using Laravel Sanctum for authentication.

  • Email Integration and Notifications

    • Configure Laravel to send emails via different mail services, and create dynamic, customizable email templates using Blade.

    • Leverage Laravel's notification system to deliver messages through multiple channels, such as email, database, and third-party services (e.g., SMS or Slack).

    • Store and manage notifications in the database, retrieve them, and track their status.

  • Asynchronous Task Handling with Queues and Workers

    • Set up and manage Laravel's queue system to handle background tasks and improve application performance.

    • Create and dispatch jobs for complex or time-intensive processes, and manage workers to process queues efficiently.

    • Handle failed jobs, prioritize tasks, and implement delayed jobs for advanced queue management.

  • Real-World Application

    • Apply learned concepts in a practical, integrated mini-project that combines REST APIs, notifications, and queues.

    • Demonstrate an ability to build scalable, efficient, and modern web applications using Laravel's advanced features.

This program is designed to enhance the participants’ Laravel development skills, enabling them to tackle advanced use cases in their own projects and contribute to high-quality, maintainable codebases.

Prerequisites

Participants are expected to have basic knowledge of

  • HTML
  • CSS
  • PHP
  • Laravel

Course Outline

Day 1: REST API Development

Morning Session

Welcome Note & Ice Breaking


Introduction to REST APIs


  • Lecture: Discuss the principles of REST APIs and best practices.

  • Activity: Set up a basic Laravel project to serve as the foundation for the REST API.

  • Exercise: Configure routes in api.php and create simple controllers to handle basic CRUD operations.


Building a CRUD API


  • Lecture: Explanation of Laravel Resource Controllers, Eloquent models, and migrations.

  • Activity: Create a Product resource with fields like name, description, and price.

  • Exercise: Implement CRUD operations for the Product API (Create, Read, Update, Delete) with appropriate validation.

Afternoon Session

Advanced REST API Features


  • Lecture: Discuss API Authentication (Sanctum) and authorization using middleware.

  • Activity: Set up API token-based authentication with Laravel Sanctum.

  • Exercise: Protect Product routes by implementing Sanctum authentication middleware.


Error Handling and Validation


  • Lecture: Best practices for error handling and response structure in APIs. Using form request validation to clean up controllers.

  • Activity: Implement custom error responses and global exception handling.

  • Exercise: Add form request validation to the Product CRUD API and test error responses.

Day 2: Sending Emails and Notifications

Morning Session

Previous Day Review


Email Basics with Laravel Mailable


  • Lecture: Overview of Mailables, configuring mail services (SMTP, Mailtrap), and sending emails.

  • Activity: Configure email settings in .env for testing (using Mailtrap for easy email testing).

  • Exercise: Create a Mailable for sending a welcome email to new users. Use Blade templates to design email content.


Practical Exercise: Sending Email on User Registration


  • Activity: Extend the user registration process by sending an email upon registration.

  • Exercise: Implement a registration form and send a welcome email upon user creation.

Afternoon Session

Introduction to Notifications


  • Lecture: Difference between Mailables and Notifications. Overview of notification channels (email, database, SMS, etc.).

  • Activity: Configure the basic notification system in Laravel and send notifications via email and database.

  • Exercise: Create a basic notification for a Task model and send it via email.


Database Notifications


  • Lecture: Discuss database notifications, including how to store notifications in the database and retrieve them.

  • Activity: Set up a notification table and use Notification::send() to store notifications.

  • Exercise: Implement a database notification that tracks new tasks and displays them on the user dashboard.

Day 3: Third-Party Notifications and Queues

Morning Session

Previous Day Review 


Third-Party Notifications (Twilio/Slack)


  • Lecture: Introduction to integrating third-party services like Twilio for SMS or Slack for team notifications.

  • Activity: Set up a Twilio account and integrate it with Laravel using a notification channel.

  • Exercise: Send a notification (SMS or Slack message) when an order is placed or a task is created.


Practical Exercise: Send SMS or Slack Notification


  • Activity: Configure the Slack or Twilio channel for notifications in Laravel.

  • Exercise: Implement a system where a new task or order triggers an SMS notification to the user or a message in a Slack channel.

Afternoon Session

Introduction to Queues


  • Lecture: Overview of queues and background job processing in Laravel.

  • Activity: Set up Laravel queues using the database driver for simplicity.

  • Exercise: Queue an email-sending job (welcome email) for processing in the background.


Practical Exercise: Use Queues for Email Sending


  • Activity: Create a job class that handles the sending of the welcome email in the background.

  • Exercise: Queue the job and test it by dispatching the email asynchronously.

Day 4: Advanced Queue Management and Final Project

Morning Session

Previous Day Review 


Advanced Queue Features


  • Lecture: Discuss advanced queue topics, including job prioritization, delayed jobs, and handling failed jobs.

  • Activity: Set up delayed and prioritized jobs using different queue connections.

  • Exercise: Implement a queue with multiple priorities for different types of jobs (e.g., high-priority order notifications vs. low-priority bulk email tasks).

  •  

Practical Exercise: Queue Delayed and Prioritized Jobs


  • Activity: Create a job to send an urgent SMS and a non-urgent report email.

  • Exercise: Use the queue to send notifications and reports, ensuring that urgent jobs are processed first.

Afternoon Session

Final Hands-On Project: Build a Mini-System


  • Activity: Integrate REST APIs, notifications, and queues into a mini-project.

    • Develop an API to manage tasks with CRUD operations.

    • Create notifications for task updates (email + SMS/Slack).

    • Implement a queued job to generate and email a summary report of tasks.

  • Exercise: Work through the project, applying everything learned during the course. Participants will complete a fully functional system that interacts with the REST API, sends notifications, and processes tasks in the background.


Q&A and Wrap-Up


  • Activity: Recap all concepts covered in the course and answer any outstanding questions.

  • Exercise: Provide guidance on how to apply the lessons to real-world projects. Discuss deployment strategies and potential optimizations.

  • Final Challenge: If time allows, ask participants to tweak and extend the mini-project by adding features such as user authentication or reporting.

 

Upcoming Sessions

There are currently no scheduled sessions for this course.

We'll notify you when new sessions are scheduled

Course Information

Delivery: On-site
Language: Malay & English
Duration: 4 days
HRD Claimable: Yes

Your Instructor

Khairil-Iszuddin bin Ismail

Khairil-Iszuddin bin Ismail

Professional Experience

Graduated from Universiti Teknologi Malaysia with a bachelor’s degree in computer science in 2001, Kharil Iszuddin Ismai...
View Profile

Questions?

Our training experts are here to help

Register Now