PodHub Website

Next JS (React) • Typescript • GCP • CSS • UI Design • OAuth2 / APIs

Try it out: podhub-bd87b.web.app

(⚠ The original podhub url has been abandoned as the group has disbanded, but it’s still accessible from the firebase hosting URL.  Some images are also now broken)

In addition, almost all of the podcasts have been removed from the spreaker account, so this is the only podcast URL that still functions completely:

https://podhub-bd87b.web.app/north-shore-nine

Skills Developed

Technology

Showcase

Home page

This carousal is reactive.  And I'm pretty proud of that spotlight animation!  It works in both desktop and mobile. 

The 'Podcasts' Page shows the latest episodes from ALL podcasts.  This data is scraped daily by a cloud function which saves episode information into Firestore.

Podcast page

Responsive Design

Admin page

New podcasts could be added, edited, or hidden from the site from this page.  A Spreaker ID still had to be added to the database manually so that the site could actually fetch the podcasts or statistics.

I added the ability for admins to generate one-time-use codes to give when onboarding podcast members so they had admin permissions for their Podcast. This page would manage that. 

The system integrates with Spreaker’s API to get podcast information and statistics. This page verified we had access or would allow you to go through the OAuth2 handshake process to obtain an access token. 

Edit Podcast Page

Thanks to React magic, get real time previews of changes as you make them. With working buttons you can verify on the edit page.

The sidebar could be customized with widgets, such as Twitch streams, tweets, custom message, patreon links, etc… When the page was viewed on mobile, the widgets above the “page split” would go above the podcast feed (of latest 5 podcasts). So they could put whatever was most important up top, and the rest go to the bottom.

Signup page

Validation:

Submissions would be sent via email using google cloud functions. Both the podhub team email list and the user submitting the form would get their own emails after completing this form.