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 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 -
Updated 2y agoLaravel Eloquent: Expert Level
By: LaravelDailyAfter this course, you will become expert in creating relationships, querying data effectively and using less-known Eloquent features.3h 46m -
Updated 2y agoLaravel 8 advanced tips and tricks beginner and intermediate
By: UdemyThe latest version of laravel is 8 so during this course you will learn the newest and the short ways to write a Laravel project or app . Laravel until now have1h 56m -
Updated 2y agoSelf-Made SaaS Course
By: Andrew SchmelyunLearn how to build a full SaaS app from idea to launch. This course walks you through each step in clear, simple terms.5h 19m -
Updated 2y agoMaster Laravel for Beginners Intermediate
By: UdemyLaravel is becoming the most popular choice among PHP developers these days. It's easiest to start with, most fun to use and very performant tool and ecosystem54h 41m -
Updated 2y agoFacebook Clone with Laravel, TDD, Vue & Tailwind CSS
By: UdemyBuilding modern applications requires a specialized toolbox of skills and tools. We are going to be using Facebook as an example to build a social network platf9h 9m -
NewFast 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 -
FreeUpdated 2y agoUltimate Laravel Course 2018 (PayPal, Webshop, RESTful API)
By: UdemyThis course is crafted by industry leaders to train developers and get them on track with Laravel quickly. We noticed that people learn fastest when working on9h 9m