{"id":24797357,"url":"https://github.com/laxmanrathod69/podly","last_synced_at":"2025-04-11T00:04:18.604Z","repository":{"id":252952934,"uuid":"842010822","full_name":"laxmanrathod69/Podly","owner":"laxmanrathod69","description":"🎧 Podly is a comprehensive podcast platform that serves as a one-stop destination for all things podcasting. Whether you're a creator looking to share your passion or a listener seeking your next audio adventure, Podly has you covered.","archived":false,"fork":false,"pushed_at":"2025-03-22T16:34:38.000Z","size":10497,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T00:04:10.578Z","etag":null,"topics":["ai","clerk","clerk-auth","gemini","google","google-gemini","nextjs","openai","podcast","prisma-orm","reacthookform","reactjs","supabase-db","tailwindcss","vercel-ai-sdk","webapp","webdevelopment","zod","zod-validation"],"latest_commit_sha":null,"homepage":"https://podlyai.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/laxmanrathod69.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2024-08-13T13:45:46.000Z","updated_at":"2025-03-22T16:34:42.000Z","dependencies_parsed_at":"2024-08-29T18:41:58.193Z","dependency_job_id":"d3f59ce3-d7e2-46b6-941b-4649bfcf5db6","html_url":"https://github.com/laxmanrathod69/Podly","commit_stats":null,"previous_names":["laxman-rathod/podly","laxmanrathod69/podly"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laxmanrathod69%2FPodly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laxmanrathod69%2FPodly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laxmanrathod69%2FPodly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/laxmanrathod69%2FPodly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/laxmanrathod69","download_url":"https://codeload.github.com/laxmanrathod69/Podly/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248317705,"owners_count":21083528,"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":["ai","clerk","clerk-auth","gemini","google","google-gemini","nextjs","openai","podcast","prisma-orm","reacthookform","reactjs","supabase-db","tailwindcss","vercel-ai-sdk","webapp","webdevelopment","zod","zod-validation"],"created_at":"2025-01-30T01:20:07.819Z","updated_at":"2025-04-11T00:04:18.572Z","avatar_url":"https://github.com/laxmanrathod69.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cbr /\u003e\n    \u003ca href=\"https://podlyai.vercel.app/\" target=\"_blank\"\u003e\n      \u003cimg src=\"https://github.com/laxmanrathod69/Podly/blob/main/public/banner/podly_banner_image.png\" alt=\"Project Banner\"\u003e\n    \u003c/a\u003e\n  \u003cbr /\u003e\n  \u003cdiv\u003e\n    \u003cimg src=\"https://img.shields.io/badge/next.js-000000?style=for-the-badge\u0026logo=nextdotjs\u0026logoColor=white\" alt=\"nextdotjs\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/TypeScript-3178C6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white\" alt=\"typescript\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/tailwindcss-38B2AC?style=for-the-badge\u0026logo=tailwindcss\u0026logoColor=white\" alt=\"tailwindcss\" /\u003e\n    \u003cimg src=\"https://shields.io/badge/supabase-black?logo=supabase\u0026style=for-the-badge\" alt=\"supabase\" /\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Prisma-3982CE?style=for-the-badge\u0026logo=Prisma\u0026logoColor=white\" alt=\"prisma\" /\u003e\n  \n  \u003c/div\u003e\n  \u003ch3 align=\"center\"\u003ePodly - Where Every Voice Finds Its Audience\u003c/h3\u003e\n\n   \u003cdiv align=\"center\"\u003e\n        A dynamic podcast hub connecting creators and listeners, offering intuitive publishing tools and personalized content discovery in one vibrant audio ecosystem.\n    \u003c/div\u003e\n    \n\u003c/div\u003e\n\n## 📋 Table of Contents\n\n1. 🍁 [Introduction](#-introduction)\n2. ⚙️ [Tech Stack](#️-tech-stack)\n3. 🤖 [Key AI-powered features include](#-key-ai-powered-features-include)\n4. 🕸️ [Features](#️-features)\n5. 🤸 [Quick Start](#-getting-started)\n6. 🪴 [Usage](#-usage)\n7. 📂 [Project Structure](#-project-structure)\n8. 🔭 [Deployment](#-deployment)\n9. 🔗 [Assets](#-assets)\n10. 🤝 [Contributing](#-contributing)\n11. 📄 [License](#-license)\n\n## 🍁 Introduction\n\nPodly revolutionizes the way people interact with podcasts by integrating cutting-edge AI technology into every aspect of the platform. From content creation to personalized recommendations, Podly makes podcasting more accessible, efficient, and enjoyable for everyone. This is an innovative podcast management and discovery platform that leverages artificial intelligence (AI) to enhance the podcasting experience for both creators and listeners.\n\n## ⚙️ Tech Stack\n\n- Next.js 15\n- React.js\n- TypeScript\n- Tailwind CSS\n- ShadCN UI\n- React Query\n- PostgreSQL (Supabase)\n- Prisma ORM\n- VercelAI + Gemini + Unsplash (AI-powered content generation)\n- React Hook Form + Zod (Form validation)\n- Husky + Lint-staged (Code quality)\n\n## 🤖 Key AI-powered features include\n\n1. **AI-Assisted Podcast Creation**: Simplify the podcast creation process with AI tools that help with content ideation, script generation, and even voice synthesis for those who prefer not to record themselves.\n\n2. **AI-Generated Thumbnails**: Automatically create eye-catching podcast thumbnails based on episode content, saving time for creators and improving visual appeal for listeners.\n\n## 🕸️ Features\n\n- AI-assisted podcast creation and editing\n- AI-generated thumbnails and artwork\n- User profiles and preference learning\n- Global search and filtering\n- Similar podcast recommendations\n- Optimistic UI updates and prefetching\n- Optimized performance with data caching\n\n## 🤸 Getting Started\n\nFollow these steps to set up the project locally on your machine.\n\n**Prerequisites**\n\nMake sure you have the following installed on your machine:\n\n- [Git](https://git-scm.com/) - for version control\n- [Node.js](https://nodejs.org/en/) - for running JavaScript on the server\n- [pnpm](https://www.pnpm.io/) - for package management\n\n1. **Clone the repository:**\n\n```bash\ngit clone https://github.com/[user-username]/Podly.git\n```\n\n2. **Install dependencies:**\n\n```bash\npnpm install\n\n```\n\n3. **Set up environment variables:**\n\nCreate a `.env` file in the root directory and add the necessary environment variables (refer to `.env.example` for required variables).\n\n```ts\n// Clerk\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY = \"\"\nCLERK_SECRET_KEY = \"\"\nNEXT_PUBLIC_CLERK_SIGN_IN_URL = \"/sign-in\"\nNEXT_PUBLIC_CLERK_SIGN_UP_URL = \"/sign-up\"\n\n// Google text content generator\nGOOGLE_GENERATIVE_AI_API_KEY = \"\"\n\n// Unsplash API Key\nUNSPLASH_API_KEY = \"\"\n\n// Supabase\nNEXT_PUBLIC_SUPABASE_URL = \"\"\nNEXT_PUBLIC_SUPABASE_ANON_KEY = \"\"\n\n// Connect to Supabase via connection pooling with Supavisor.\nDATABASE_URL = \"\"\n\n// Direct connection to the database. Used for migrations.\nDIRECT_URL = \"\"\n```\n\nReplace the placeholder values with your actual respective account credentials.\n\n4. **Run the development server:**\n\n```bash\npnpm run dev\n```\n\n5. Open your browser and navigate to `http://localhost:3000`\n\n## 🪴 Usage\n\n- **Create a Podcast**: Click on `Create` and use our AI-assisted tools to generate ideas, write scripts, or even synthesize voices for your podcast.\n\n- **Discover New Content**: Explore our AI-curated recommendations or use the smart search feature to find podcasts that match your interests.\n\n## 📂 Project Structure\n\n- `app/`: Next.js app router and page components\n- `components/`: Reusable React components\n- `prisma/`: Prisma schema and migrations\n- `constants/`: Application-wide constants\n- `public/`: Static assets\n- `hooks/`: React custom hooks\n- `lib/`: Utility functions and API clients\n- `type/`: TypeScript types\n\n## 🔭 Deployment\n\nThe app is configured for easy deployment on `Vercel`. Connect your `GitHub repository` to Vercel for automatic deployments on each push to the main branch.\n\n## 🔗 Assets\n\nStatic assets like images, fonts etc. are stored in the `public` directory and referenced using the `/` path prefix.\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\nTo contribute:\n\nFork the repository \u003c/br\u003e\nCreate your feature branch (`git checkout -b feature/your-feature`) \u003c/br\u003e\nCommit your changes (`git commit -m 'feat: add your feature'`) \u003c/br\u003e\nPush to the branch (`git push origin feature/your-feature`) \u003c/br\u003e\nOpen a pull request\n\n## 📄 License\n\nThis project is licensed under the Apache License - see the [LICENSE](LICENSE) file for details.\n\n## 📩 Contact\n\nLaxman Rathod - [@Linkedin](https://linkedin.com/in/laxmanrathod69) - laxmanrathod.dev@gmail.com\n\nProject Link: [https://github.com/laxmanrathod69/Podly](https://github.com/laxmanrathod69/podly)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaxmanrathod69%2Fpodly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flaxmanrathod69%2Fpodly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flaxmanrathod69%2Fpodly/lists"}