{"id":31130238,"url":"https://github.com/akramcodez/piva","last_synced_at":"2025-09-18T02:05:10.299Z","repository":{"id":296513004,"uuid":"993592920","full_name":"akramcodez/piva","owner":"akramcodez","description":"Piva - AI-Powered Webinar Platform","archived":false,"fork":false,"pushed_at":"2025-09-13T14:36:50.000Z","size":32795,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-13T15:46:30.388Z","etag":null,"topics":["ai-agents","saas","t3-stack"],"latest_commit_sha":null,"homepage":"https://piva.akramcodez.tech","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/akramcodez.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-05-31T04:59:30.000Z","updated_at":"2025-09-13T14:36:53.000Z","dependencies_parsed_at":"2025-07-22T18:05:26.931Z","dependency_job_id":"0c8d3798-5c50-459d-bf21-a12b592f7bf2","html_url":"https://github.com/akramcodez/piva","commit_stats":null,"previous_names":["akramcodez/piva.ai","akramcodez/pivaai","akramcodez/piva"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/akramcodez/piva","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akramcodez%2Fpiva","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akramcodez%2Fpiva/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akramcodez%2Fpiva/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akramcodez%2Fpiva/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akramcodez","download_url":"https://codeload.github.com/akramcodez/piva/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akramcodez%2Fpiva/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275696239,"owners_count":25511354,"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","status":"online","status_checked_at":"2025-09-18T02:00:09.552Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-agents","saas","t3-stack"],"created_at":"2025-09-18T02:03:59.761Z","updated_at":"2025-09-18T02:05:10.279Z","avatar_url":"https://github.com/akramcodez.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Piva - AI-Powered Webinar Platform\n\nA modern SaaS platform for hosting AI-enhanced webinars with automated sales capabilities, real-time chat, and intelligent customer interaction.\n\n## Features\n\n- **AI-Powered Webinars**: Host live webinars with AI agent assistance\n- **Real-time Chat**: Stream-powered chat with automated moderation\n- **Product Integration**: Seamless product sales during webinars\n- **Demo Stripe Integration**: It's not real Stripe Account integration\n- **Analytics Dashboard**: Comprehensive webinar and sales analytics\n- **Responsive Design**: Mobile-first responsive UI\n\n## Architecture\n\n### Authentication System\n\nRobust authentication using Clerk with custom middleware protection.\n\n- [Authentication Documentation](\u003csrc/app/(auth)/auth.md\u003e)\n\n### Route Structure\n\n- **Protected Routes**: Authenticated user features and dashboard\n  - [Protected Routes Documentation](\u003csrc/app/(protectedRoutes)/protectedRoutes.md\u003e)\n- **Public Routes**: Landing pages and public webinar access\n  - [Public Routes Documentation](\u003csrc/app/(publicRoutes)/publicRoutes.md\u003e)\n\n## Tech Stack\n\n### Frontend\n\n- **Framework**: Next.js 14 (App Router)\n- **UI Library**: React 18 + TypeScript\n- **Styling**: Tailwind CSS + Shadcn/ui\n- **State Management**: Zustand\n- **Authentication**: Clerk\n\n### Backend\n\n- **Runtime**: Node.js\n- **Database**: PostgreSQL + Prisma ORM\n- **Real-time**: Stream Chat\n- **AI Integration**: Vapi.ai\n\n### Deployment\n\n- **Platform**: Vercel\n- **Database**: Neon\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n- PostgreSQL database\n- Stripe account\n- Clerk account\n- Stream account\n- Vapi.ai account\n\n### Installation\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/akramcodez/Piva.git\n   cd Piva\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   npm install --legacy-peer-deps\n   ```\n\n3. **Environment Setup**\n\n   ```bash\n   cp .env.example .env.local\n   ```\n\n4. **Configure Environment Variables**\n\n   ```env\n   # Database\n   DATABASE_URL=\"postgresql://...\"\n\n   # Clerk Authentication\n   NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=\n   CLERK_SECRET_KEY=\n\n   # Stripe\n   NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=\n   STRIPE_SECRET_KEY=\n\n   # Stream Chat\n   NEXT_PUBLIC_STREAM_API_KEY=\n   STREAM_SECRET_KEY=\n\n   # Vapi.ai\n   VAPI_API_KEY=\n   ```\n\n5. **Database Setup**\n\n   ```bash\n   npx prisma generate\n   npx prisma db push\n   ```\n\n6. **Run Development Server**\n   ```bash\n   npm run dev\n   ```\n\nOpen [http://localhost:3000](http://localhost:3000) to view the application.\n\n## Project Structure\n\n```\nsrc/\n├── app/\n│   ├── (auth)/              # Authentication routes\n│   ├── (protectedRoutes)/   # Authenticated user routes\n│   ├── (publicRoutes)/      # Public access routes\n│   └── api/                 # API routes\n├── components/\n│   ├── ui/                  # Reusable UI components\n│   └── ReusableComponents/  # Feature-specific components\n├── actions/                 # Server actions\n├── lib/                     # Utility functions\n├── store/                   # State management\n└── types/                   # TypeScript definitions\n```\n\n## Core Features\n\n### Dashboard (`/home`)\n\n- Webinar analytics\n- Revenue tracking\n- Quick actions\n- Recent activity\n\n### Webinar Management (`/webinars`)\n\n- Create/edit webinars\n- Schedule management\n- Attendee tracking\n- AI agent configuration\n\n### Product Management (`/products`)\n\n- Product catalog\n- Sales tracking\n- Stripe integration\n- Inventory management\n\n### AI Agents (`/ai-agents`)\n\n- Custom AI assistants\n- Prompt configuration\n- Performance analytics\n- Integration settings\n\n### Settings (`/settings`)\n\n- Account management\n- Demo Stripe connection\n- Platform preferences\n- Analytics configuration\n\n## Security\n\n- **Authentication**: Clerk-based secure authentication\n- **Authorization**: Route-level protection\n- **Data Protection**: Encrypted sensitive data\n- **Payment Security**: PCI-compliant Stripe integration\n- **API Security**: Rate limiting and validation\n\n1. **Connect to Vercel**\n\n   ```bash\n   npm i -g vercel\n   vercel login\n   vercel\n   ```\n\n2. **Configure Environment Variables**\n\n   - Add all environment variables in Vercel dashboard\n   - Set up production database\n   - Configure domain settings\n\n3. **Deploy**\n   ```bash\n   vercel --prod\n   ```\n\n## API Documentation\n\n### Authentication\n\nAll protected API routes require valid authentication headers.\n\n### Endpoints\n\n- `GET /api/webinars` - List user webinars\n- `POST /api/webinars` - Create new webinar\n- `GET /api/products` - List user products\n- `POST /api/stripe-connect` - Stripe connection\n- `GET /api/analytics` - Get analytics data\n\n## Contributing\n\n1. Fork the repository\n2. Create feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit changes (`git commit -m 'Add amazing feature'`)\n4. Push to branch (`git push origin feature/amazing-feature`)\n5. Open Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Support\n\nFor support and questions:\n\n- Email: skcodewizard786@gmail.com\n- Twitter: [@akramcodez](https://twitter.com/akramcodez)\n\n## Acknowledgments\n\n- [Next.js](https://nextjs.org/) - React framework\n- [Clerk](https://clerk.dev/) - Authentication\n- [Stripe](https://stripe.com/) - Payment processing\n- [Stream](https://getstream.io/) - Real-time chat\n- [Vapi.ai](https://vapi.ai/) - AI voice integration\n- [Shadcn/ui](https://ui.shadcn.com/) - UI components\n\n---\n\nBuilt with ❤️ by SK Akram\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakramcodez%2Fpiva","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakramcodez%2Fpiva","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakramcodez%2Fpiva/lists"}