Create/Sell courses and digital downloads and publish blogs on your own branded website. An open source alternative to Teachable, Thinkific, Podia and the likes.
The user should be able to invite any user to a course.
Flow
On the products screen, click on the context menu of any product. It should have Invite a customer menu item.
The menu item should take the user to /dashboard/product/<product-id>/customer/new.
On clicking Invite button, one of the following should happen.
If the user exists for the domain, the user should be added to the course
If the user doesn't exist for the domain, the user should be first created and then added to the courses.
The course should be added the user's purchases array.
The invited user should get an email stating that You have been enrolled in a course: <Course name>.
The invites user logs in and see the course listed in /my-content.
On clicking the cancel button, the user should be taken to the /products screen.
When the user is invited, they should be visible in the Students tab of the product.
Events
While creating the user, they should be subscribed to updates and the user_created activity should be recorded. This is already done in the createUser method, just need to trigger createUser for creating the user during the flow.
When inviting the user, the enrolled activity should be recorded. This is alreayd done in the finalize-purchase method, just need to trigger finalize-purchase during the flow.
The user should be able to invite any user to a course.
Flow
Invite a customer
menu item./dashboard/product/<product-id>/customer/new
.Invite
button, one of the following should happen.purchases
array.You have been enrolled in a course: <Course name>
./my-content
./products
screen.Students
tab of the product.Events
user_created
activity should be recorded. This is already done in thecreateUser
method, just need to trigger createUser for creating the user during the flow.enrolled
activity should be recorded. This is alreayd done in thefinalize-purchase
method, just need to trigger finalize-purchase during the flow.Design
Figma link: https://www.figma.com/design/bYozbDhC68KL03aGuK7YSp/CourseLit?node-id=188-48&node-type=FRAME&t=K24uoX1gkdudT9wt-0