This repository contains the source code for the interactive transcript of the incredible Easy German Podcast. The transcripts are available to the Easy German Members; however, the transcript of the first episode is free for all to see. You can see how this interactive transcript works here.
The interactive transcript highlights the words as they are being played and allows the user to translate the sections using DeepL translator. It also shows the Easy German Vocabulary Helper on the side.
- Ruby - best to install it with rbenv or rvm.
- Node.js
- PostgreSQL
- EasyGerman private podcast URL (from Patreon)
- DeepL API key (for translations)
- Rollbar (for error reporting)
gem install bundler
bundle install
cp .env.development.sample .env.development
cp config/database.yml.example config/database.yml
Customize .env.development and database.yml.
Set up the database:
rails db:setup
./bin/run
bundle exec rspec
or use guard to run tests as files change:
guard
Data tests are normally excluded because they require patron-only content.
To download contents, run the following:
bundle exec rake feed:import_to_files
PODCAST=easygerman EPISODES=all bundle exec rspec spec/modules/processing_spec.rb
By default, tests tagged as network: true
are excluded.
These tests use the real network and require valid credentials to be set up in
.env.test.local
.
On Heroku Dashboard:
- create app
- add PostgreSQL and Redis add-ons
- set environment variables (refer to .env.development - ignore DATABASE_URL & REDIS_URL, these are set automatically by Heroku)
On the CLI:
git remote add heroku https://git.heroku.com/<appname>.git
git push heroku master
rake feed:stats
- print stats about all episodesrake translations:prepopulate
- pre-translate all transcripts