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

Watch Online Let's Build A Forum with Laravel and TDD

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

Mastering Laravel 10 Query Builder, Eloquent & Relationships

Mastering Laravel 10 Query Builder, Eloquent & Relationships

Sources: udemy
Are you struggling with Laravel databases and Eloquent? Do you want to learn how to easily manage your database with migrations and seeders? Look no further than Code With Dary'...
7 hours 27 minutes 32 seconds
Vue 3 and Laravel: Breaking a Monolith to Microservices

Vue 3 and Laravel: Breaking a Monolith to Microservices

Sources: udemy
Microservices Architecture, Vue 3, Nuxt.js, Laravel, Docker, RabbitMQ, Event Driven Microservices, Internal APIs, Redis. Learn how to create a Monolith using Vue 3 and Laravel t...
14 hours 4 minutes 43 seconds
Master Laravel for Beginners Intermediate

Master Laravel for Beginners Intermediate

Sources: udemy
Laravel 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 ecosystem of tools, that ju...
54 hours 41 minutes 57 seconds
Vue.js + Laravel: CRUD with SPA

Vue.js + Laravel: CRUD with SPA

Sources: laraveldaily.com
Everyone wants a full-stack developer these days, with some JS framework and Laravel as API.
1 hour 50 minutes 29 seconds
Learn Laravel Vuejs from scratch - Build a TESLA web app

Learn Laravel Vuejs from scratch - Build a TESLA web app

Sources: udemy
This course will teach you how to use the Laravel and Vuejs frameworks completely from scratch.‌ In this course we will be building and going through a few proj
6 hours 48 minutes 12 seconds