Giter Site home page Giter Site logo

howtocodewell / howtocodewell.fm Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 1.0 5.44 MB

The Podcast Website

Home Page: https://howtocodewell.fm

HTML 0.02% CSS 11.89% Dockerfile 3.01% JavaScript 5.34% PHP 49.96% Shell 1.68% Twig 25.26% Makefile 2.83%
howtocodewell podcast webdevelopment docker sculpin pwa

howtocodewell.fm's Introduction

howtocodewell.fm's People

Contributors

opdavies avatar pfwd avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

opdavies

howtocodewell.fm's Issues

Add Google Tag Manager

This needs to be injected some how via the .env file so it's not present in development

Fix rss import error

 \u001b[39m", "\u001b[32m                                                                                \u001b[39m", "", "{\"message\":\"Warning: Attempt to read property \\\"nodeValue\\\" on null\",\"context\":{\"exception\":{\"class\":\"ErrorException\",\"message\":\"Warning: Attempt to read property \\\"nodeValue\\\" on null\",\"code\":0,\"file\":\"/var/www/html/src/Command/RssFeedImporterCommand.php:59\"}},\"level\":300,\"level_name\":\"WARNING\",\"channel\":\"php\",\"datetime\":\"2021-10-29T06:36:54.555316+00:00\",\"extra\":{}}", "{\"message\":\"Warning: Attempt to read property \\\"nodeValue\\\" on null\",\"context\":{\"exception\":{\"class\":\"ErrorException\",\"message\":\"Warning: Attempt to read property \\\"nodeValue\\\" on 

Add Season 1 shows

Season 1 is currently missing. This is quite a big task as there are a good number of episodes to add.
We also need to link this to the homepage

Create a schedule page

For the MVP show the next set of episodes that are scheduled on YouTube.

Resources:
YouTube API live broadcasts

  • Install the YouTube PHP SDK
  • Create a Schedule table in the database
    • show_id
    • show title
    • show date and time
  • Create a Symfony console script
    • Authenticate with the YouTube API
    • Search upcoming live broadcasts
    • Create / update show records from YouTube API response
  • Create the schedule page
    • List upcoming broadcasts on page
    • Display the following per item:
      • Title
      • Start time and date
      • If the API returns no broadcasts then display hardcoded text that explains the normal show times
    • Update readme/env with the YouTube creds

A guest page

A guest can be on more than one show. We should create a page for each guest that list all of their shows.

Pull down twitter images automatically

There are a number of guests who have out dated Twitter profile images. This is because these images have been downloaded manually per episode.
This is also not scalable.

We need to create a mechanism that automatically downloads a Twitter profile image based on the Twitter name.

One idea is to use a service like avatars.io to return a profile image. Then cache this locally using Apache and mod rewrite. Something similar to this: https://david.elbe.me/code/php/2014/09/17/cache-images-with-php.html

SSL certificate needs to be added

This isn't a high priority right now as we don't have any forms on the site. However this should be done and will require some investigation as to how it's implemented with the Docker container

A guests page

Related to #7
This is a page that lists all of the guests with their avatars. Each avatar is clickable to the individual guest page (#7)

Add a basic sitemap

This doesn't need to be fancy at this stage. Just a basic sitemap will do.
Styling can be done later.

Create a top 10 episodes page

There are currently 21 episodes on the site and some of the older ones are getting very popular. Unfortunately their popularity isn't displayed on the site and older episodes are moved down the list.
This feature request attempts to address this issue.

Create a page that lists the top 10 podcasts with links to the relevant episodes.
This requires further investigation as this really needs to be automated. Perhaps the podcast host has an API that could be accessed.

Requirements:

  • Investigate a means of gathering popular episodes via an API
  • Create a script that accesses the API
  • Create a page in Sculpin
  • Create a main menu item
  • Create a cron script that updates the list

Error when generating site locally

root@7d098d5dde03:/var/www/html# bin/sculpin generate --watch --server

Fatal error: Uncaught Error: Class 'Symfony\Component\Console\DependencyInjection\AddConsoleCommandPass' not found in /var/www/html/vendor/sculpin/sculpin/src/Sculpin/Bundle/SculpinBundle/SculpinBundle.php on line 50

Error: Class 'Symfony\Component\Console\DependencyInjection\AddConsoleCommandPass' not found in /var/www/html/vendor/sculpin/sculpin/src/Sculpin/Bundle/SculpinBundle/SculpinBundle.php on line 50

PHP Stan errors in master

 ------ ---------------------------------------------------------------------------------
  Line   Controller/FeedsController.php
 ------ ---------------------------------------------------------------------------------
  6      Could not read file: /var/www/html/vendor/composer/../../src/Model/Feedback.php
 ------ ---------------------------------------------------------------------------------

 ------ ---------------------------------------------------------------------------------
  Line   Controller/SponsorController.php
 ------ ---------------------------------------------------------------------------------
  6      Could not read file: /var/www/html/vendor/composer/../../src/Model/Feedback.php
 ------ ---------------------------------------------------------------------------------

Investigation: Try Sculpin instead of Jekyll

Sculpin is a popular PHP static site generator that is based on Symfony components and uses composer.
Jekyll is great and totally fit for purpose however:

  • Jekyll runs on Ruby and this isn't an overly familiar language to me
  • The site doesn't require GitHub Pages
  • Think of the PHP goodness

Tasks:

  • Tag current version as 1.0.0
  • Create a branch called sculpin-test
  • Install Sculpin
  • Create a Dockerfile
  • Update deployment scripts
  • Deploy from sculpin-test and review on test server

Convert to GatsbyJS

I would like to keep the HTCW sites using a standard set of technologies and newer sites are being built in GatsbyJS.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.