Lifetime access is $100 off. Ends this week.Join here →

Build a File Sharing SaaS App

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!

Episodes

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