This episode is for members only

Level up with a premium membership

Get access
Already a member? Sign in to continue
Playing
43. Filtering available plans to swap to
68 episodes6 hrs 47 mins

Course overview

Let’s build a file sharing SaaS app with Laravel and Vue! Featuring direct, signed uploads to S3 with FilePond, secure sharing, tiered pricing plans, usage statistics and more.

Alex Garrett-Smith
Alex Garrett-Smith
Hey, I'm the founder of Codecourse!

Comments

No coments, yet. Be the first to leave a comment.

Episodes

0%
Your progress
  • Total: 6 hrs 47 mins
  • Played: 0 mins
  • Remaining: 6 hrs 47 mins
Join or sign in to track your progress
02. Introduction and demo
6m 22s
0%
03. Setting up Laravel
3m 19s
0%
04. Setting up Vue and Tailwind
7m 55s
0%
05. Scaffolding and navigation
7m 51s
0%
06. Navigation component
2m 15s
0%
07. Setting up Sanctum
8m 9s
0%
08. Logging in
20m 23s
0%
09. Updating the nav bar
2m 3s
0%
10. Logging out
4m 38s
0%
11. Actually building the login page
8m 39s
0%
12. User's files endpoint
8m 4s
0%
13. Getting a list of user's files
12m 14s
0%
14. Installing FilePond
6m 2s
0%
15. Setting up an S3 bucket
5m 26s
0%
16. Creating a signed upload request
8m 40s
0%
17. Hooking up FilePond to signed uploads
12m 34s
0%
18. Cancelling uploads
3m 14s
0%
19. Clearing out finished uploads
1m 52s
0%
20. Create a file record after upload
8m 28s
0%
21. Updating Vuex state with new uploads
2m 55s
0%
22. Deleting files
9m 7s
0%
23. Removing from S3 on deletion
2m 50s
0%
24. Setting up Cashier
6m 15s
0%
25. Creating plans and a default free plan
9m 49s
0%
26. Switching to a UserResource
6m 18s
0%
27. Storage usage component
10m 53s
0%
28. Formatting usages
5m 14s
0%
29. Incrementing usage when uploading
1m 47s
0%
30. Decrementing usage when deleting
2m 27s
0%
31. Custom usage validation rule
4m 13s
0%
32. Handling upload validation
6m 26s
0%
33. Switching to use a FormRequest
1m 31s
0%
34. Client environment variables
2m 55s
0%
35. Listing plans
11m 59s
0%
36. Setting up the checkout and getting a card token
14m 52s
0%
37. Creating a subscription
6m 39s
0%
38. Refreshing user data
2m 38s
0%
39. Toggling the navigation upgrade link
2m 40s
0%
40. Showing the user’s current subscription
7m 3s
0%
41. Listing plans to swap to
4m 34s
0%
42. Selecting a plan
3m 51s
0%
43. Filtering available plans to swap to
12m 14s
0%
44. Swapping a plan
3m 49s
0%
45. Downgrading to a free plan
2m 4s
0%
46. Checking if user can swap
3m 30s
0%
47. Creating a submit button component
13m 23s
0%
48. Subscription endpoint validation
4m 25s
0%
49. Setting up file sharing
5m 24s
0%
50. Creating a sharable link
8m 11s
0%
51. Authorizing sharable link creation
2m 5s
0%
52. Generating a sharable link in the client
2m 27s
0%
53. Automatically copying a sharable link to the clipboard
4m 4s
0%
54. Creating the download page
4m 12s
0%
55. Requesting the file to download
7m 42s
0%
56. Hooking up the client
4m 10s
0%
57. Clicking to download the file
1m 17s
0%
58. Creating a snackbar
8m 52s
0%
59. Applying the snackbar to various actions
3m 47s
0%
60. Hide swap plan from account area
1m 12s
0%
61. Login form validation
3m 43s
0%
62. Fixing middleware for sharable links
1m 3s
0%
63. API middleware
2m 48s
0%
64. Creating an account
4m 21s
0%
65. Hooking up account creation on the client
6m 33s
0%
66. Optional password confirmation
2m 26s
0%
67. Fixing unique email address validation
1m 28s
0%
68. Middleware pipelines
17m 44s
0%
69. Handling webhooks
9m 36s
0%