{"id":21601962,"url":"https://github.com/c4mbr0nn3/podcats","last_synced_at":"2025-04-11T02:31:58.375Z","repository":{"id":143542386,"uuid":"603785890","full_name":"c4mbr0nn3/podcats","owner":"c4mbr0nn3","description":"Podcast player with cats","archived":false,"fork":false,"pushed_at":"2025-02-06T07:53:42.000Z","size":1584,"stargazers_count":5,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-10T19:17:59.600Z","etag":null,"topics":["docker","gin-gonic","golang","howlerjs","podcast-manager","podcast-player","sqlite","vue3","vuejs","vuetify","vuetify3"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c4mbr0nn3.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-19T15:17:11.000Z","updated_at":"2025-02-06T07:53:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"f6b8fdb5-8617-4f1c-9d9d-682a9380ad05","html_url":"https://github.com/c4mbr0nn3/podcats","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c4mbr0nn3%2Fpodcats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c4mbr0nn3%2Fpodcats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c4mbr0nn3%2Fpodcats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c4mbr0nn3%2Fpodcats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c4mbr0nn3","download_url":"https://codeload.github.com/c4mbr0nn3/podcats/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248329622,"owners_count":21085568,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","gin-gonic","golang","howlerjs","podcast-manager","podcast-player","sqlite","vue3","vuejs","vuetify","vuetify3"],"created_at":"2024-11-24T19:11:32.555Z","updated_at":"2025-04-11T02:31:58.345Z","avatar_url":"https://github.com/c4mbr0nn3.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/c4mbr0nn3/podcats/main/frontend/public/android-chrome-192x192.png\" /\u003e\n\u003c/div\u003e\n\n\n\n# Podcats\n\nA podcast manager with cats here and there, inspired by [Podgrab](https://github.com/akhilrex/podgrab).\n\n## Why?\n\nI just wanted to have some fun with Vue.js 3 and Vuetify 3 while learning some GoLang skill (still very basic, tho), that's why I started this project.\n\n## Tech Stack\n\n**Client:** Vue.js, Vuetify, howler.js, marked\n\n**Server:** GoLang, gin-gonic, gorm, viper\n\n**Database:** SQLite\n\n## Features\n\n- ✅ Play podcast episodes (o rly?)\n- ✅ Multi-user support\n- ✅ Import podcast RSS feeds and store them in an SQLite database\n- ✅ Search for and import new podcasts from the iTunes API\n- ✅ Cron job checks for new episodes every 5 minutes\n- ✅ In-app notifications for the cron job\n- ✅ Search for imported podcasts from anywhere in the app by pressing `Ctrl+K`, with fuzzy search (using fuse.js)\n- ✅ Mark episodes as played or unplayed\n- ✅ Mark episodes as favorites\n- ✅ Resume listening feature\n\n## Roadmap\n\n- [ ] Play entire podcasts\n- [ ] \"Listen Later\" playlist\n- [ ] Offline listening capability\n- [ ] Categorize podcasts\n- [ ] Import/Export using OPML\n- [ ] Mobile UI design\n- [ ] Light Theme\n- [ ] Configurable interval for the new episode cron job\n- [ ] Email notifications for the cron job with configurable SMTP server\n- [ ] Basic user settings page\n\n## Deployment\n\nTo deploy this project you need [Docker](https://www.docker.com/) installed on your server.\n\n### Using Docker Compose\n\nFastest way to get started with Podcats is to deploy it via docker-compose file, just download it from the repository or copy the following snippet:\n\n```yaml\nversion: \"3.8\"\n\nservices:\n  podcats:\n    image: j1mm0/podcats:latest\n    container_name: podcats\n    restart: always\n    ports:\n      - 8000:8000\n    volumes:\n      - ${PWD}/podcats-db/:/go/src/podcats/db\n```\n\n### Using Docker\n\nIf you prefer to avoid docker-compose, you can retrieve the latest Podcats docker image with the following command:\n\n```bash\n  docker pull j1mm0/podcats:latest\n```\n\nOtherwise, if you want the very last code version, with higher probability of quirks, then clone the repository:\n\n```bash\n  git clone https://github.com/c4mbr0nn3/podcats.git\n```\n\nGo to the project directory:\n\n```bash\n  cd podcats\n```\n\nAnd finally build the docker image using the All-In-One Dockerfile:\n\n```bash\n  docker build --rm -f aio.Dockerfile --tag j1mm0/podcats:latest .\n```\n\nOnce you have the image in your server, just run:\n\n```bash\n  docker container run -d -p 8000:8000 -v ${PWD}/podcats-db/:/go/src/podcats/db --name podcats j1mm0/podcats:latest\n```\n\n### Credentials\n\nDefault credentials are:\n- **Username:** root\n- **Password:** changeme\n\nIt is going to ask you to change the password on the first login.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc4mbr0nn3%2Fpodcats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc4mbr0nn3%2Fpodcats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc4mbr0nn3%2Fpodcats/lists"}