Skip to main content
CF

Let's Build A Forum with Laravel and TDD

19h 30m 20s
English
Paid

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

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.


Who teaches Let's Build A Forum with Laravel and TDD? Laracasts

Laracasts thumbnail

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?

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 102 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Initial Database Setup With Seeding
All Course Lessons (102)
#Lesson TitleDurationAccess
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
Unlock unlimited learning

Get instant access to all 101 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

What courses are similar to Let's Build A Forum with Laravel and TDD?

Frequently asked questions

What prerequisites are required for this course?
Before enrolling, students should have a basic understanding of PHP and the Laravel framework. Familiarity with object-oriented programming and test-driven development (TDD) concepts is also beneficial. Experience with JavaScript and Vue.js will help, as the course involves implementing features with Vue components.
What will I build during this course?
Throughout the course, you will build a fully functional forum application. The project includes features such as thread creation and replies, user profiles, thread subscriptions, real-time notifications, and activity feeds. You'll also implement filtering options, spam detection, and user interaction through favorites and mentions.
Who is the target audience for this course?
The course is aimed at intermediate developers who are familiar with Laravel and want to deepen their understanding of building complex applications using test-driven development. It is also suitable for those looking to improve their skills in integrating Vue.js with Laravel for dynamic web applications.
How does this course compare in depth and scope to similar courses?
This course offers a comprehensive exploration of building a forum from scratch using TDD. It covers a wide range of topics and features in 102 lessons, including advanced techniques like spam detection, custom validation, and AJAX interactions with Vue.js. It provides a more thorough and hands-on experience compared to shorter or less detailed courses.
What specific tools and platforms will be used?
The course primarily uses the Laravel framework for backend development and Vue.js for frontend components. It involves database setup and seeding, as well as the use of PHP's testing capabilities for TDD. JavaScript is used for handling server exceptions and adding dynamic features like instant username autocompletion.
What topics are not covered in this course?
The course does not cover the basics of Laravel or PHP. It assumes prior knowledge of these topics and focuses on building a forum using TDD. Additionally, it does not delve into advanced server management, deployment strategies, or mobile application development.
How much time should I expect to commit to this course?
With a total of 102 lessons, the course requires a significant time commitment. While the total runtime is unspecified, students should anticipate dedicating several weeks to complete the lessons, practice coding exercises, and fully implement the forum project with all its features.