Skip to content
Website and publishing mechanisum for the podcast Long Live The New Sound
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
client
src
views
.env.example
.gitignore
Procfile
README.md
deploy.sh
package.json
publish.js
server.js
yarn.lock

README.md

Long Live The New Sound

https://longlivethenewsound.com

Long Live The New Sound is a podcast / platform for deseminating experimental audo. In contrast to traditional podcasts in which episodes are curated, have a presenter, seek to build audience and have adverts, Long Live The New Sound aims to simply aggregate together content and publish it directly to the web as a podcast.

You can subscribe to the podcast at

Follow us on twitter @the_newsound

This repo contains the source code that powers everything from the submission website to the podcast its self.

Running Locally

yarn 
cd frontend 
yarn 
cd ../
yarn run dev

Comming soon : a docker compose environment to easily run everything locally

Code Layout

The code is split in to two parts, the server and the client side.

Client is built with React and lives in the /client directory. Server is built using express and lives in the root directory. Entry point is server.js

Config and environment variables

There are a few things that need to be configured to let the site work. These are all controlled through environment variables that can be specified by a .env file. An example of this can be found in the .env.example file.

  • AWS_ACCESS_KEY_ID : The access key for the AWS account your using
  • AWS_SECRET_ACCESS_KEY : The secret access key for the AWS account your using
  • MONGO_CONNECTION : The mongo connection string for the database where we store the submissions
  • ADMIN_USERNAME : The username to use for access to the /admin part of the site where the feed can be updated and submissions can be reviewed
  • ADMIN_PASSWORD= : The password to use for access to the /admin part of the site where the feed can be updated and submissions can be reviewed
  • NOTIFICATION_EMAIL_ADDRESS : A gmail email address to use for notifications
  • NOTIFICATION_EMAIL_PASSWORD : The password for the gmail notification account
  • REVIEWERS_EMAILS : A comma seperated list of reviewers who will be notified when a new submission is made.

Deploying

Assuming you are running on heroku, you can use the deploy script to push updates live.

./deploy.sh

Services that we run on

The podcast uses a few different services to run.

  • Heroku: For hosting the app, could easily be swaped out for another hosting service like ec2 etc
  • S3: For hosting the audio files along with the rss feed for the podcast
  • CloudFront: As a content distribution network and to provide and apple compatbale SSL cert
  • letsencrypt: For obtatining an itunes compatable ssl certificate.
  • mongoDB/mlab: For holding the submissions databse.
  • Gmail: For sending notifications to artists when they submit and to alert reviewers.
You can’t perform that action at this time.