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!
- 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
- PHP
- HTMX
- Bootstrap 5
- Podcast Index API
- Progressive Web App (PWA) technology
- Lando for local development
- Podcast Index API credentials
-
Clone the repository:
git clone https://github.com/amcquade/podsnap.git cd podsnap -
Environment file (see table below for values):
touch .env
-
Start Lando:
lando start
-
Get your Podcast Index API credentials from podcastindex.org and add them to your
.envfile.
Start the development environment:
lando startAccess the site at: https://podsnap.lndo.site
| 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
docker build -t my-lando-app .
docker run -p 8080:80 --name my-lando-container my-lando-appdocker stop my-lando-container
docker rm my-lando-containerdocker exec -it my-lando-container bashEdit .lando.yml to customize your Lando setup. Key services include:
appserver: PHP/Apache servicedatabase: MySQL database
| Variable | Description |
|---|---|
PCI_API_KEY |
Your Podcast Index API key |
PCI_API_SECRET |
Your Podcast Index API secret |
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Distributed under the GNU General Public License v3.0. See LICENSE for more information.
- Podcast Index for their open podcast API
- Lando for local development environment
- HTMX for lightweight AJAX functionality
- Howler.js audio player
- played episodes list
- notifications for new episodes
- offline playback