dragonsbootcampllc / DraagonsWebsite24

This is a staging Branch for Dragons Website that means (it's not the production, the production is getting the content from here after merging this repo[staging] the the other repo[Production])
https://dragonsbootcampstaging.netlify.app/
3 stars 2 forks source link

Webinar system #91

Closed FaisalIbrahim404 closed 2 months ago

FaisalIbrahim404 commented 3 months ago

Implementation Breakdown

Webinar Exploration:

Webinar Details Page:

Booking Form:

Payment Integration:

Protected Webinar Access:

Hamdysaad20 commented 3 months ago

Actionable Steps

Explore Available Webinars:

URL: webinar/explore Action: List all available webinars with basic details (title, date, brief description). Display Webinar Details:

On Click Action: When a user clicks on a webinar from the list on the webinar/explore page, display detailed information about that specific webinar. Implementation: Fetch and display details such as full description, date, time, speaker info, and any other relevant details.

you can always add more data but the data that i mentioned should be the periority "for typescript option use Value?:string as optional "

Book Webinar:

On Click Action: When a user clicks the "Book Webinar" button on the webinar details page: Form: Display a form requesting contact details (name, phone, email). Save Form Data: Save the contact details to the database with a default payment status of "Unpaid".

Payment Process:

Redirect to Payment Gateway: After saving the contact details, redirect the user to the Stripe payment gateway using the existing API. Payment Status Update: Webhook: Set up a webhook to listen for payment confirmation from Stripe. Update Status: Upon successful payment, update the user's payment status from "Unpaid" to "Paid" in the database.

Access Paid Webinars:

URL: webinar/watch?v=xxxxxxxx (where xxxxxxxx is a reference to the webinar data) Access Control: Ensure only users with a "Paid" status can access this page. Content Sections: Public Section: Display general webinar details. Private Section: Display streaming details and access to the webinar video or live stream.