Return to homepage

Build a File Sharing SaaS App

68 episodes
6 hours  47 mins

About this course

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.

Your teacher

Alex Garrett-Smith
Alex Garrett-Smith

Hey, I'm the founder of Codecourse!

course episodes (68)

01. Introduction and demo

06:22

02. Setting up Laravel

03:19

03. Setting up Vue and Tailwind

07:55

04. Scaffolding and navigation

07:51

05. Navigation component

02:15

06. Setting up Sanctum

08:09

07. Logging in

20:23

08. Updating the nav bar

02:03

09. Logging out

04:38

10. Actually building the login page

08:39

11. User's files endpoint

08:04

12. Getting a list of user's files

12:14

13. Installing FilePond

06:02

14. Setting up an S3 bucket

05:26

15. Creating a signed upload request

08:40

16. Hooking up FilePond to signed uploads

12:34

17. Cancelling uploads

03:14

18. Clearing out finished uploads

01:52

19. Create a file record after upload

08:28

20. Updating Vuex state with new uploads

02:55

21. Deleting files

09:07

22. Removing from S3 on deletion

02:50

23. Setting up Cashier

06:15

24. Creating plans and a default free plan

09:49

25. Switching to a UserResource

06:18

26. Storage usage component

10:53

27. Formatting usages

05:14

28. Incrementing usage when uploading

01:47

29. Decrementing usage when deleting

02:27

30. Custom usage validation rule

04:13

31. Handling upload validation

06:26

32. Switching to use a FormRequest

01:31

33. Client environment variables

02:55

34. Listing plans

11:59

35. Setting up the checkout and getting a card token

14:52

36. Creating a subscription

06:39

37. Refreshing user data

02:38

38. Toggling the navigation upgrade link

02:40

39. Showing the user’s current subscription

07:03

40. Listing plans to swap to

04:34

41. Selecting a plan

03:51

42. Filtering available plans to swap to

12:14

43. Swapping a plan

03:49

44. Downgrading to a free plan

02:04

45. Checking if user can swap

03:30

46. Creating a submit button component

13:23

47. Subscription endpoint validation

04:25

48. Setting up file sharing

05:24

49. Creating a sharable link

08:11

50. Authorizing sharable link creation

02:05

51. Generating a sharable link in the client

02:27

52. Automatically copying a sharable link to the clipboard

04:04

53. Creating the download page

04:12

54. Requesting the file to download

07:42

55. Hooking up the client

04:10

56. Clicking to download the file

01:17

57. Creating a snackbar

08:52

58. Applying the snackbar to various actions

03:47

59. Hide swap plan from account area

01:12

60. Login form validation

03:43

61. Fixing middleware for sharable links

01:03

62. API middleware

02:48

63. Creating an account

04:21

64. Hooking up account creation on the client

06:33

65. Optional password confirmation

02:26

66. Fixing unique email address validation

01:28

67. Middleware pipelines

17:44

68. Handling webhooks

09:36
Want to stay in the loop about new content?
Of course you do.

© 2023 Codecourse Ltd. All Rights Reserved. Born in the UK.