Skip to main content

Let's Build A Forum with Laravel and TDD

19h 30m 20s
English
Paid

Course description

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.


Watch Online

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

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Master System Design with Laravel

Master System Design with Laravel

Sources: Martin Joo
"Art of System Design with Laravel" is a practical guide spanning 267 pages that will take you from simple single-server configurations to...
Build an e-commerce platform

Build an e-commerce platform

Sources: Codecourse
Build a robust e-commerce platform with a Laravel API and Nuxt frontend. Products with flexible variations, proper price implementation, a full checkout experience with dynamic ...
14 hours 19 minutes 18 seconds
Laravel 8 advanced tips and tricks beginner and intermediate

Laravel 8 advanced tips and tricks beginner and intermediate

Sources: udemy
The 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 have
1 hour 56 minutes 50 seconds
Start with TALL: Use Tailwind, Alpine, Laravel & Livewire

Start with TALL: Use Tailwind, Alpine, Laravel & Livewire

Sources: udemy
Get ahead of the competition and start with the TALL stack, made up of Tailwind CSS, Alpine.js, Livewire, and Laravel that will completely dominate the world of
4 hours 17 minutes 21 seconds
Scaling Laravel

Scaling Laravel

Sources: serversforhackers.com
The first time I put code into a load balanced environment, I accidentally gave away thousands of dollars in prizes within a few minutes. After pulling an all-nighter to get the...
9 hours 29 minutes 45 seconds