https://github.com/akramcodez/piva
Piva - AI-Powered Webinar Platform
https://github.com/akramcodez/piva
ai-agents saas t3-stack
Last synced: 9 months ago
JSON representation
Piva - AI-Powered Webinar Platform
- Host: GitHub
- URL: https://github.com/akramcodez/piva
- Owner: akramcodez
- License: mit
- Created: 2025-05-31T04:59:30.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-13T14:36:50.000Z (9 months ago)
- Last Synced: 2025-09-13T15:46:30.388Z (9 months ago)
- Topics: ai-agents, saas, t3-stack
- Language: TypeScript
- Homepage: https://piva.akramcodez.tech
- Size: 31.3 MB
- Stars: 1
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Piva - AI-Powered Webinar Platform
A modern SaaS platform for hosting AI-enhanced webinars with automated sales capabilities, real-time chat, and intelligent customer interaction.
## Features
- **AI-Powered Webinars**: Host live webinars with AI agent assistance
- **Real-time Chat**: Stream-powered chat with automated moderation
- **Product Integration**: Seamless product sales during webinars
- **Demo Stripe Integration**: It's not real Stripe Account integration
- **Analytics Dashboard**: Comprehensive webinar and sales analytics
- **Responsive Design**: Mobile-first responsive UI
## Architecture
### Authentication System
Robust authentication using Clerk with custom middleware protection.
- [Authentication Documentation]()
### Route Structure
- **Protected Routes**: Authenticated user features and dashboard
- [Protected Routes Documentation]()
- **Public Routes**: Landing pages and public webinar access
- [Public Routes Documentation]()
## Tech Stack
### Frontend
- **Framework**: Next.js 14 (App Router)
- **UI Library**: React 18 + TypeScript
- **Styling**: Tailwind CSS + Shadcn/ui
- **State Management**: Zustand
- **Authentication**: Clerk
### Backend
- **Runtime**: Node.js
- **Database**: PostgreSQL + Prisma ORM
- **Real-time**: Stream Chat
- **AI Integration**: Vapi.ai
### Deployment
- **Platform**: Vercel
- **Database**: Neon
## Getting Started
### Prerequisites
- Node.js 18+
- PostgreSQL database
- Stripe account
- Clerk account
- Stream account
- Vapi.ai account
### Installation
1. **Clone the repository**
```bash
git clone https://github.com/akramcodez/Piva.git
cd Piva
```
2. **Install dependencies**
```bash
npm install --legacy-peer-deps
```
3. **Environment Setup**
```bash
cp .env.example .env.local
```
4. **Configure Environment Variables**
```env
# Database
DATABASE_URL="postgresql://..."
# Clerk Authentication
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=
CLERK_SECRET_KEY=
# Stripe
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
STRIPE_SECRET_KEY=
# Stream Chat
NEXT_PUBLIC_STREAM_API_KEY=
STREAM_SECRET_KEY=
# Vapi.ai
VAPI_API_KEY=
```
5. **Database Setup**
```bash
npx prisma generate
npx prisma db push
```
6. **Run Development Server**
```bash
npm run dev
```
Open [http://localhost:3000](http://localhost:3000) to view the application.
## Project Structure
```
src/
├── app/
│ ├── (auth)/ # Authentication routes
│ ├── (protectedRoutes)/ # Authenticated user routes
│ ├── (publicRoutes)/ # Public access routes
│ └── api/ # API routes
├── components/
│ ├── ui/ # Reusable UI components
│ └── ReusableComponents/ # Feature-specific components
├── actions/ # Server actions
├── lib/ # Utility functions
├── store/ # State management
└── types/ # TypeScript definitions
```
## Core Features
### Dashboard (`/home`)
- Webinar analytics
- Revenue tracking
- Quick actions
- Recent activity
### Webinar Management (`/webinars`)
- Create/edit webinars
- Schedule management
- Attendee tracking
- AI agent configuration
### Product Management (`/products`)
- Product catalog
- Sales tracking
- Stripe integration
- Inventory management
### AI Agents (`/ai-agents`)
- Custom AI assistants
- Prompt configuration
- Performance analytics
- Integration settings
### Settings (`/settings`)
- Account management
- Demo Stripe connection
- Platform preferences
- Analytics configuration
## Security
- **Authentication**: Clerk-based secure authentication
- **Authorization**: Route-level protection
- **Data Protection**: Encrypted sensitive data
- **Payment Security**: PCI-compliant Stripe integration
- **API Security**: Rate limiting and validation
1. **Connect to Vercel**
```bash
npm i -g vercel
vercel login
vercel
```
2. **Configure Environment Variables**
- Add all environment variables in Vercel dashboard
- Set up production database
- Configure domain settings
3. **Deploy**
```bash
vercel --prod
```
## API Documentation
### Authentication
All protected API routes require valid authentication headers.
### Endpoints
- `GET /api/webinars` - List user webinars
- `POST /api/webinars` - Create new webinar
- `GET /api/products` - List user products
- `POST /api/stripe-connect` - Stripe connection
- `GET /api/analytics` - Get analytics data
## Contributing
1. Fork the repository
2. Create feature branch (`git checkout -b feature/amazing-feature`)
3. Commit changes (`git commit -m 'Add amazing feature'`)
4. Push to branch (`git push origin feature/amazing-feature`)
5. Open Pull Request
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Support
For support and questions:
- Email: skcodewizard786@gmail.com
- Twitter: [@akramcodez](https://twitter.com/akramcodez)
## Acknowledgments
- [Next.js](https://nextjs.org/) - React framework
- [Clerk](https://clerk.dev/) - Authentication
- [Stripe](https://stripe.com/) - Payment processing
- [Stream](https://getstream.io/) - Real-time chat
- [Vapi.ai](https://vapi.ai/) - AI voice integration
- [Shadcn/ui](https://ui.shadcn.com/) - UI components
---
Built with ❤️ by SK Akram