This is a Next.js project bootstrapped with create-next-app.
A cutting-edge AI SaaS platform that enables users to create, discover, and enjoy podcasts with advanced features like text-to-audio conversion with multi-voice AI, podcast thumbnail Image generation and seamless playback.
- Next.js
- TypeScript
- Convex
- OpenAI
- Clerk
- ShadCN
- Tailwind CSS
👉 Robust Authentication: Secure and reliable user login and registration system.
👉 Modern Home Page: Showcases trending podcasts with a sticky podcast player for continuous listening.
👉 Discover Podcasts Page: Dedicated page for users to explore new and popular podcasts.
👉 Fully Functional Search: Allows users to find podcasts easily using various search criteria.
👉 Create Podcast Page: Enables podcast creation with text-to-audio conversion, AI image generation, and previews.
👉 Multi Voice AI Functionality: Supports multiple AI-generated voices for dynamic podcast creation.
👉 Profile Page: View all created podcasts with options to delete them.
👉 Podcast Details Page: Displays detailed information about each podcast, including creator details, number of listeners, and transcript.
👉 Podcast Player: Features backward/forward controls, as well as mute/unmute functionality for a seamless listening experience.
👉 Responsive Design: Fully functional and visually appealing across all devices and screen sizes.
and many more, including code architecture and reusability
Follow these steps to set up the project locally on your machine.
Prerequisites
Make sure you have the following installed on your machine:
Cloning the Repository
git clone https://github.com/adrianhajdin/jsm_podcastr.git
cd jsm_podcastrInstallation
Install the project dependencies using npm:
npm installSet Up Environment Variables
Create a new file named .env in the root of your project and add the following content:
CONVEX_DEPLOYMENT=
NEXT_PUBLIC_CONVEX_URL=
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
NEXT_PUBLIC_CLERK_SIGN_IN_URL='/sign-in'
NEXT_PUBLIC_CLERK_SIGN_UP_URL='/sign-up'Replace the placeholder values with your actual Convex & Clerk credentials. You can obtain these credentials by signing up on the Convex and Clerk websites.
Running the Project
npm run devOpen http://localhost:3000 in your browser to view the project.
Copyright (c) 2024 Aryan Jagarwal
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE