Hey ! Thanks for the interest.
Well the Subscription model here is used to store information about the validity of a membership. Let’s say we want to add another property for tracking the period [starting date-ending] or the next time a user will be billed or etc… You don’t want to store that in a junction table right ? That’s why I created a separate Model for all those information.