Skip to content

amcquade/podsnap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PodSnap - Podcast Search & PWA Installer

A podcast search engine powered by Podcast Index that allows users to install any podcast as a standalone Progressive Web App (PWA). Checkout the live version!

Features

  • Search podcasts using the Podcast Index API
  • View podcast details and episodes
  • Install any podcast as a standalone PWA
  • Dark/Light mode toggle
  • Responsive design for all devices

Technologies

  • PHP
  • HTMX
  • Bootstrap 5
  • Podcast Index API
  • Progressive Web App (PWA) technology

Prerequisites

  • Lando for local development
  • Podcast Index API credentials

Setup

  1. Clone the repository:

    git clone https://github.com/amcquade/podsnap.git
    cd podsnap
  2. Environment file (see table below for values):

    touch .env
  3. Start Lando:

    lando start
  4. Get your Podcast Index API credentials from podcastindex.org and add them to your .env file.

Development

Start the development environment:

lando start

Access the site at: https://podsnap.lndo.site

Lando Commands

Basic Commands

Command Description
lando start Start all services
lando stop Stop all services
lando restart Restart all services
lando rebuild Rebuild the environment
  • Shell into a service:
    lando ssh -s appserver
  • To use root:
    lando ssh -s appserver --user root
  • Get the logs:
    lando logs
  • Follow the logs and show timestamps:
    lando logs -t -f
  • Show logs for specific services:
    lando logs -s appserver -s database

Using docker

building and running the image locally

docker build -t my-lando-app .
docker run -p 8080:80 --name my-lando-container my-lando-app

deleting the container

docker stop my-lando-container
docker rm my-lando-container

connect to (running) container for debugging (in a new terminal tab)

docker exec -it my-lando-container bash

Configuration

Edit .lando.yml to customize your Lando setup. Key services include:

  • appserver: PHP/Apache service
  • database: MySQL database

.env Variables

Variable Description
PCI_API_KEY Your Podcast Index API key
PCI_API_SECRET Your Podcast Index API secret

Contributing

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the GNU General Public License v3.0. See LICENSE for more information.

Acknowledgments

Future features / TODOs

  • played episodes list
  • notifications for new episodes
  • offline playback

About

Install any podcast as an app on your device

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published