A forum is a deceptively complex thing. Sure, it's made up of threads and replies, but what else might exist as part of a forum? What about profiles, or thread subscriptions, or filtering, or real-time notifications? As it turns out, a forum is the perfect project to stretch your programming muscles. In this series, we'll work together to build one with tests from A to Z.
Let's Build A Forum with Laravel and TDD
Let's Build A Forum with Laravel and TDD is a 102-lesson 19 hours 30 minutes self-paced course by Laracasts. A forum is a deceptively complex thing.
Course facts
- Lessons
- 102
- Duration
- 19 hours 30 minutes
- Level
- All levels
- Language
- English
- Updated
- Instructor
- Laracasts
- Price
- Premium
Who teaches Let's Build A Forum with Laravel and TDD? Laracasts
Laracasts is the dominant subscription video platform for the Laravel PHP framework, founded and run by Jeffrey Way. Active since 2013, the site has grown into a multi-thousand-video catalog covering Laravel itself, Vue.js, Tailwind CSS, testing, and the broader modern PHP ecosystem. Laracasts videos are the de-facto onboarding path most working Laravel developers have used at some point in their career.
The catalog mirrored here under this source is a small slice of what the full platform offers — included for the depth of project-based material it provides on the framework. Material from Laracasts is paid, screencast-format, and aimed at working PHP developers rather than absolute beginners.
What lessons are included in Let's Build A Forum with Laravel and TDD?
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Initial Database Setup With Seeding Demo | 07:59 | |
| 2 | Test-Driving Threads | 09:27 | |
| 3 | A Thread Can Have Replies | 09:10 | |
| 4 | A User May Respond to Threads | 17:40 | |
| 5 | The Reply Form | 05:15 | |
| 6 | A User May Publish Threads | 06:13 | |
| 7 | Let's Make Some Testing Helpers | 05:44 | |
| 8 | The Exception Handling Conundrum | 07:55 | |
| 9 | A Thread Should Be Assigned a Channel | 14:12 | |
| 10 | How to Test Validation Errors | 10:41 | |
| 11 | Users Can Filter Threads By Channel | 13:26 | |
| 12 | Validation Errors and Old Data | 08:24 | |
| 13 | Extracting to View Composers | 03:00 | |
| 14 | A User Can Filter All Threads By Username | 07:37 | |
| 15 | A Lesson in Refactoring | 18:48 | |
| 16 | Meta Details and Pagination | 09:20 | |
| 17 | A User Can Filter Threads By Popularity | 11:51 | |
| 18 | A User Can Favorite Replies | 15:47 | |
| 19 | The Favorite Button | 07:37 | |
| 20 | From 56 Queries Down to 2 | 07:07 | |
| 21 | Global Scopes and Further Query Reduction | 08:29 | |
| 22 | A User Has a Profile | 12:32 | |
| 23 | A User Can Delete Their Threads | 14:07 | |
| 24 | Authorization With Policies | 10:29 | |
| 25 | How to Construct an Activity Feed with TDD | 16:38 | |
| 26 | How to Construct An Activity Feed with TDD: Part 2 | 16:22 | |
| 27 | Extracting Controller Queries to the Model | 07:40 | |
| 28 | The Activity Deletion Bug | 05:11 | |
| 29 | Flash Messaging With Vue | 14:00 | |
| 30 | A User's Activity Feed Should Include Favorited Replies | 06:06 | |
| 31 | Authorized Users Can Delete Replies | 07:59 | |
| 32 | A Vue Reply Component | 13:52 | |
| 33 | Ajaxifying the Delete Button | 04:22 | |
| 34 | A Vue Favorite Component | 16:28 | |
| 35 | Squashing Bugs | 08:32 | |
| 36 | A More Data-centric Approach | 21:59 | |
| 37 | A New Reply Component | 11:44 | |
| 38 | Laravel and Vue Pagination | 31:02 | |
| 39 | A User Can Filter By Unanswered Threads | 12:53 | |
| 40 | Thread Subscriptions: Part 1 | 10:53 | |
| 41 | Thread Subscriptions: Part 2 | 06:17 | |
| 42 | Thread Subscriptions: Part 3 | 15:13 | |
| 43 | Thread Subscriptions: Part 4 | 25:30 | |
| 44 | Test Refactoring | 06:16 | |
| 45 | Thread Subscriptions: Part 5 | 13:22 | |
| 46 | Refactoring for the Better or Worse? | 10:25 | |
| 47 | Notification Fakes in a Nutshell | 05:21 | |
| 48 | This Thread Has Been Updated Since You Last Read It | 15:55 | |
| 49 | Spam Detection | 11:09 | |
| 50 | Graduating Inspection Methods to Classes | 08:52 | |
| 51 | Spam Detection At All Ports | 06:57 | |
| 52 | Handling Server Exceptions with JavaScript | 10:17 | |
| 53 | Refactoring to Custom Validation | 07:21 | |
| 54 | A User May Not Reply More Than Once Per Minute | 15:11 | |
| 55 | Refactoring to Form Requests | 12:04 | |
| 56 | Mentioned Users Notifications: Part 1 | 09:29 | |
| 57 | Mentioned Users Notifications: Part 2 | 12:14 | |
| 58 | Don't Forget to Scan Your Files | 08:02 | |
| 59 | Wrap Usernames Within Anchor Tags | 07:35 | |
| 60 | Instant Username Autocompletion | 13:20 | |
| 61 | Instant Username Autocompletion: Part 2 | 13:34 | |
| 62 | Basic View Tweaks | 07:49 | |
| 63 | Testing Avatar Uploads | 13:50 | |
| 64 | Testing Avatar Uploads: Part 2 | 14:05 | |
| 65 | AJAX Image Uploads | 28:04 | |
| 66 | Trending Threads With Redis | 14:50 | |
| 67 | Isolating Knowledge | 12:15 | |
| 68 | Thread Views: Design #1 - Trait | 09:11 | |
| 69 | Thread Views: Design #2 - Extract Class | 08:24 | |
| 70 | Thread Views: Design #3 - KISS | 07:51 | |
| 71 | Users Must Confirm Their Email Address: #1 - Protection | 09:47 | |
| 72 | Users Must Confirm Their Email Address: #2 - Confirmation | 23:07 | |
| 73 | Users Must Confirm Their Email Address: #3 - Cleanup | 15:17 | |
| 74 | Email Confirmation Loose Ends | 08:03 | |
| 75 | A Thread Should Have a Unique Slug: Part 1 | 07:26 | |
| 76 | A Thread Should Have a Unique Slug: Part 2 | 11:45 | |
| 77 | We Need a Regression Test | 13:29 | |
| 78 | Mark the Best Reply: Part 1 | 14:18 | |
| 79 | Mark the Best Reply: Part 2 | 07:58 | |
| 80 | Refactoring Authorization | 06:08 | |
| 81 | Remembering a Best Reply | 10:49 | |
| 82 | Confusing Errors and Solutions | 11:08 | |
| 83 | Thread Authorization | 06:40 | |
| 84 | An Administrator May Lock Any Thread | 08:00 | |
| 85 | An Administrator May Lock Any Thread: Part 2 | 16:02 | |
| 86 | An Administrator May Lock Any Thread: Part 3 | 11:16 | |
| 87 | An Administrator May Lock Any Thread: Part 4 | 11:59 | |
| 88 | From Laravel 5.4 to Laravel 5.5 | 09:31 | |
| 89 | Recaptcha | 09:33 | |
| 90 | Recaptcha Refactoring | 12:51 | |
| 91 | A Thread Can Be Updated | 13:34 | |
| 92 | A Thread Can Be Updated: Part 2 | 12:44 | |
| 93 | A Thread Can Be Updated: Part 3 | 15:22 | |
| 94 | First Class Search: Scout Review | 09:07 | |
| 95 | First Class Search: Implementation | 18:10 | |
| 96 | First Class Search: Faceting and Ranking | 05:01 | |
| 97 | First Class Search: Instant Results | 11:51 | |
| 98 | First Class Search: Forum Integration | 11:02 | |
| 99 | WYSIWYG | 15:29 | |
| 100 | WYSIWYG: Part 2 | 12:12 | |
| 101 | Sanitizing is a Must | 19:29 | |
| 102 | Onward | 01:58 |
Get instant access to all 101 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionWhat courses are similar to Let's Build A Forum with Laravel and TDD?
-
Updated 2y agoPHP with Laravel - Create a Restaurant Management System
By: UdemyWelcome to the PHP with Laravel - Create a Restaurant Management System. The course covers the concepts of using PHP and Laravel Framework to build an innovativ9h 39m -
Updated 2y agoLaravel Livewire
By: Caleb Porzio, Laravel LivewireBuilding modern web apps is hard. Tools like Vue and React are extremely powerful, but the complexity they add to a full-stack developer's workflow is insane.11h 29m -
Updated 2y agoBuilding Finance Apps with Laravel
By: Martin JooLearn how to build reliable software that deals with payments, money, numbers, transactions, webhooks, dashboards, and exports. -
Updated 2y agoVue.js + Laravel: CRUD with SPA
By: LaravelDailyMaster Vue.js with Laravel to build a single-page application. Learn SPA routing, components, and Axios to boost your full-stack skills.1h 50m -
Updated 2y agoSOLID Code in Laravel
By: LaravelDailyWant to get a Senior Laravel developer position? You probably need to master software design principles, like SOLID.1h 46m -
Updated 3y agoReact and Laravel: Breaking a Monolith to Microservices
By: UdemyTransform monolithic apps into scalable microservices using React, Laravel, and Docker. Master API development, authentication, and more in this comprehensive15h 7m -
Updated 1mo agoFast Laravel - your Laravel app, but fast
By: Jason McCrearyLearn how to speed up your Laravel application with caching and the use of Cloudflare. Improve performance without complicating the infrastructure.2h 16m -
Updated 3y agoDevOps Project: CICD with Git GitLab Jenkins and Laravel
By: UdemyLearn how to build a full CICD pipeline for a Laravel app with Git, GitLab, and Jenkins. You set up deploy steps and run each part with confidence.4h 47m