{"id":30606076,"url":"https://github.com/bhuvantenguria/konvograd","last_synced_at":"2026-04-14T05:33:49.999Z","repository":{"id":311974081,"uuid":"1045832453","full_name":"Bhuvantenguria/KonvoGrad","owner":"Bhuvantenguria","description":"KonvoGrad","archived":false,"fork":false,"pushed_at":"2025-08-27T19:54:16.000Z","size":110,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-28T04:29:43.750Z","etag":null,"topics":["clerk","firebase","firebase-realtime-database","nextjs","socket-io","typescript","webrtc","webrtc-video"],"latest_commit_sha":null,"homepage":"https://konvo-grad.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Bhuvantenguria.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-08-27T19:22:42.000Z","updated_at":"2025-08-27T19:58:09.000Z","dependencies_parsed_at":"2025-08-28T04:34:27.416Z","dependency_job_id":"198f93a8-0d7e-49c1-b900-f3a77fca1069","html_url":"https://github.com/Bhuvantenguria/KonvoGrad","commit_stats":null,"previous_names":["bhuvantenguria/konvograd"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Bhuvantenguria/KonvoGrad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhuvantenguria%2FKonvoGrad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhuvantenguria%2FKonvoGrad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhuvantenguria%2FKonvoGrad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhuvantenguria%2FKonvoGrad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Bhuvantenguria","download_url":"https://codeload.github.com/Bhuvantenguria/KonvoGrad/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Bhuvantenguria%2FKonvoGrad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272797078,"owners_count":24994522,"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-08-30T02:00:09.474Z","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":["clerk","firebase","firebase-realtime-database","nextjs","socket-io","typescript","webrtc","webrtc-video"],"created_at":"2025-08-30T03:01:18.405Z","updated_at":"2025-10-29T18:22:57.907Z","avatar_url":"https://github.com/Bhuvantenguria.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 KonvoGrad - Professional Networking Platform\n\n\u003cdiv align=\"center\"\u003e\n\n![KonvoGrad Logo](https://img.shields.io/badge/KonvoGrad-Professional%20Networking-blue?style=for-the-badge\u0026logo=linkedin)\n![Live Demo](https://img.shields.io/badge/Live%20Demo-https://konvo--grad.vercel.app-green?style=for-the-badge\u0026logo=vercel)\n![Status](https://img.shields.io/badge/Status-Live%20Production-brightgreen?style=for-the-badge)\n\n**Connect with Alumni \u0026 Developers Instantly**  \n*Experience random matching with verified professionals, build meaningful connections, and grow your network through secure video and text conversations.*\n\n[🌐 Live Demo](https://konvo-grad.vercel.app/) | [📖 Documentation](https://github.com/your-username/KonvoGrad) | [🐛 Report Issues](https://github.com/your-username/KonvoGrad/issues)\n\n\u003c/div\u003e\n\n---\n\n## 🎯 **What is KonvoGrad?**\n\nKonvoGrad is a **professional networking platform** that revolutionizes how alumni and developers connect. Think of it as \"Omegle for professionals\" - but with verified users, secure video calls, and meaningful conversations.\n\n### 🌟 **Key Features**\n\n| Feature | Description |\n|---------|-------------|\n| 🎲 **Random Matching** | Connect instantly with verified professionals through our Omegle-style matching system |\n| ✅ **Professional Verification** | LinkedIn integration ensures you're connecting with real, verified professionals |\n| 🎥 **Video \u0026 Text Chat** | Seamless video calling and text messaging with real-time notifications |\n| 👥 **Friend Connections** | Build lasting connections with invite codes and reconnect with past conversations |\n| 🔔 **Real-time Updates** | Push notifications and live updates keep you connected to your network |\n| 🛡️ **Secure \u0026 Moderated** | Advanced moderation tools and admin oversight ensure a safe networking environment |\n\n---\n\n## 🛠️ **Tech Stack**\n\n### **Frontend**\n- **Next.js 15** - React framework with App Router\n- **React 19** - Latest React with concurrent features\n- **TypeScript** - Type-safe development\n- **Tailwind CSS** - Utility-first CSS framework\n- **Shadcn UI** - Beautiful, accessible components\n- **Framer Motion** - Smooth animations and transitions\n\n### **Backend \u0026 Services**\n- **Firebase Firestore** - Real-time NoSQL database\n- **Firebase Cloud Messaging** - Push notifications\n- **Clerk** - Authentication \u0026 user management\n- **Cloudinary** - Media storage and optimization\n- **WebRTC** - Peer-to-peer video calling\n\n### **Development Tools**\n- **ESLint** - Code linting\n- **Prettier** - Code formatting\n- **Husky** - Git hooks\n- **Vercel** - Deployment platform\n\n---\n\n## 🚀 **Live Demo**\n\n**Experience KonvoGrad in action:** [https://konvo-grad.vercel.app/](https://konvo-grad.vercel.app/)\n\n### 🎬 **Demo Features**\n- ✅ **Live Video Chat** - Test the Omegle-style matching\n- ✅ **Professional Profiles** - View verified user profiles\n- ✅ **Real-time Messaging** - Experience instant chat\n- ✅ **Theme Switching** - Try different UI themes\n- ✅ **Responsive Design** - Works on all devices\n\n---\n\n## 📦 **Installation \u0026 Setup**\n\n### **Prerequisites**\n- Node.js 18+ \n- npm/pnpm/yarn\n- Firebase account\n- Clerk account\n- Cloudinary account\n\n### **1. Clone Repository**\n```bash\ngit clone https://github.com/your-username/KonvoGrad.git\ncd KonvoGrad\n```\n\n### **2. Install Dependencies**\n```bash\n# Using pnpm (recommended)\npnpm install\n\n# Using npm\nnpm install\n\n# Using yarn\nyarn install\n```\n\n### **3. Environment Configuration**\n\nCopy the example environment file:\n```bash\ncp env.example .env.local\n```\n\n#### **Firebase Configuration**\nGet these values from your [Firebase Console](https://console.firebase.google.com/):\n\n```env\n# Firebase Client (Public)\nNEXT_PUBLIC_FIREBASE_API_KEY=your_api_key\nNEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com\nNEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id\nNEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project.appspot.com\nNEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id\nNEXT_PUBLIC_FIREBASE_APP_ID=your_app_id\nNEXT_PUBLIC_FIREBASE_VAPID_KEY=your_vapid_key\n\n# Firebase Admin (Server-side)\nFIREBASE_PROJECT_ID=your_project_id\nFIREBASE_CLIENT_EMAIL=your_service_account_email\nFIREBASE_PRIVATE_KEY=\"-----BEGIN PRIVATE KEY-----\\nYour_Private_Key\\n-----END PRIVATE KEY-----\"\n```\n\n#### **Clerk Authentication**\nGet these from your [Clerk Dashboard](https://dashboard.clerk.com/):\n\n```env\nNEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=pk_test_your_publishable_key\nCLERK_SECRET_KEY=sk_test_your_secret_key\nNEXT_PUBLIC_CLERK_SIGN_IN_URL=/sign-in\nNEXT_PUBLIC_CLERK_SIGN_UP_URL=/sign-up\nNEXT_PUBLIC_CLERK_AFTER_SIGN_IN_URL=/dashboard\nNEXT_PUBLIC_CLERK_AFTER_SIGN_UP_URL=/onboarding\n```\n\n#### **Cloudinary Configuration**\nGet these from your [Cloudinary Dashboard](https://cloudinary.com/console):\n\n```env\nCLOUDINARY_CLOUD_NAME=your_cloud_name\nCLOUDINARY_API_KEY=your_api_key\nCLOUDINARY_API_SECRET=your_api_secret\n```\n\n### **4. Firebase Setup**\n\n1. **Create Firebase Project**\n   - Go to [Firebase Console](https://console.firebase.google.com/)\n   - Create a new project\n   - Enable Authentication (Email/Password, Google)\n   - Enable Firestore Database\n   - Enable Cloud Messaging\n\n2. **Configure Firestore Rules**\n   ```javascript\n   // firestore.rules\n   rules_version = '2';\n   service cloud.firestore {\n     match /databases/{database}/documents {\n       // Allow read/write for authenticated users\n       match /{document=**} {\n         allow read, write: if request.auth != null;\n       }\n     }\n   }\n   ```\n\n3. **Create Indexes**\n   ```bash\n   # Deploy Firestore indexes\n   npx firebase deploy --only firestore:indexes\n   ```\n\n### **5. Clerk Setup**\n\n1. **Create Clerk Application**\n   - Go to [Clerk Dashboard](https://dashboard.clerk.com/)\n   - Create a new application\n   - Configure authentication providers (Google, Email)\n   - Set up redirect URLs\n\n2. **Configure Webhooks** (Optional)\n   - Set up webhooks for user events\n   - Configure custom user attributes\n\n### **6. Run Development Server**\n\n```bash\n# Start development server\npnpm dev\n\n# Build for production\npnpm build\n\n# Start production server\npnpm start\n```\n\nVisit [http://localhost:3000](http://localhost:3000) to see your app!\n\n---\n\n## 📁 **Project Structure**\n\n```\nKonvoGrad/\n├── 📁 app/                          # Next.js App Router\n│   ├── 📁 (auth)/                   # Authentication routes\n│   ├── 📁 dashboard/                # User dashboard\n│   ├── 📁 chat/                     # Chat interface\n│   ├── 📁 match/                    # Matching system\n│   ├── 📁 video-chat/               # Video call interface\n│   ├── 📁 onboarding/               # User profile setup\n│   ├── 📄 layout.tsx                # Root layout\n│   └── 📄 globals.css               # Global styles\n├── 📁 components/                   # React components\n│   ├── 📁 ui/                       # Reusable UI components\n│   │   ├── 📄 shared-navigation.tsx # Navigation component\n│   │   └── 📄 theme-provider.tsx    # Theme management\n│   ├── 📁 video-chat/               # Video call components\n│   ├── 📁 matching/                 # Matching interface\n│   └── 📁 chat/                     # Chat components\n├── 📁 hooks/                        # Custom React hooks\n│   ├── 📄 use-video-call.ts         # Video call logic\n│   ├── 📄 use-matching.ts           # Matching system\n│   ├── 📄 use-chat.ts               # Chat functionality\n│   └── 📄 use-firebase-user.ts      # Firebase user management\n├── 📁 lib/                          # Utility libraries\n│   ├── 📄 firebase.ts               # Firebase client config\n│   ├── 📄 firebase-admin.ts         # Firebase admin config\n│   ├── 📄 firebase-client-utils.ts  # Client-side Firebase ops\n│   ├── 📄 firebase-messaging.ts     # Push notifications\n│   ├── 📄 cloudinary.ts             # Media uploads\n│   └── 📄 webrtc-utils.ts           # WebRTC utilities\n├── 📁 public/                       # Static assets\n├── 📄 firebase.json                 # Firebase config\n├── 📄 firestore.rules               # Firestore security rules\n├── 📄 firestore.indexes.json        # Database indexes\n└── 📄 package.json                  # Dependencies\n```\n\n---\n\n## 🎨 **Features Deep Dive**\n\n### **🎲 Random Matching System**\n- **Omegle-style Interface**: Instant connection with random professionals\n- **Professional Verification**: LinkedIn integration for user verification\n- **Smart Filtering**: Match based on skills, interests, and location\n- **Session Management**: Unique session IDs for anonymous connections\n\n### **🎥 Video Chat Experience**\n- **WebRTC Integration**: Peer-to-peer video calling\n- **Media Controls**: Toggle video/audio, screen sharing\n- **Chat Integration**: Side chat panel during video calls\n- **Connection Quality**: Automatic quality adjustment\n- **Device Management**: Camera and microphone controls\n\n### **💬 Real-time Messaging**\n- **Firestore Listeners**: Instant message updates\n- **File Sharing**: Support for images, documents, and media\n- **Read Receipts**: Message status indicators\n- **Typing Indicators**: Real-time typing notifications\n- **Message History**: Persistent chat history\n\n### **🎨 Modern UI/UX**\n- **Theme System**: Multiple gradient themes with dark/light mode\n- **Responsive Design**: Mobile-first approach\n- **Smooth Animations**: Framer Motion powered transitions\n- **Glassmorphism**: Modern glass effect design\n- **Interactive Elements**: Hover effects and micro-interactions\n\n### **🔐 Security \u0026 Privacy**\n- **Clerk Authentication**: Secure user authentication\n- **Firebase Security Rules**: Database access control\n- **Content Moderation**: Admin oversight and reporting\n- **Privacy Controls**: User data protection\n- **Session Management**: Secure session handling\n\n---\n\n## 🚀 **Deployment**\n\n### **Vercel Deployment** (Recommended)\n\n1. **Connect Repository**\n   ```bash\n   # Install Vercel CLI\n   npm i -g vercel\n\n   # Deploy to Vercel\n   vercel\n   ```\n\n2. **Configure Environment Variables**\n   - Add all environment variables in Vercel dashboard\n   - Set production Firebase configuration\n   - Configure Clerk production keys\n\n3. **Custom Domain** (Optional)\n   - Add custom domain in Vercel dashboard\n   - Configure DNS settings\n\n### **Firebase Hosting**\n\n```bash\n# Build the project\npnpm build\n\n# Deploy to Firebase\nnpx firebase deploy\n```\n\n### **Other Platforms**\n\n- **Netlify**: Connect GitHub repository\n- **Railway**: Deploy with Railway CLI\n- **Docker**: Use provided Dockerfile\n\n---\n\n## 🤝 **Contributing**\n\nWe welcome contributions! Here's how you can help:\n\n### **Development Setup**\n1. Fork the repository\n2. Create a feature branch: `git checkout -b feature/amazing-feature`\n3. Make your changes\n4. Test thoroughly\n5. Commit: `git commit -m 'Add amazing feature'`\n6. Push: `git push origin feature/amazing-feature`\n7. Open a Pull Request\n\n### **Code Standards**\n- Follow TypeScript best practices\n- Use ESLint and Prettier\n- Write meaningful commit messages\n- Add tests for new features\n- Update documentation\n\n### **Issue Reporting**\n- Use GitHub Issues for bug reports\n- Provide detailed reproduction steps\n- Include browser/device information\n- Attach screenshots if applicable\n\n---\n\n## 📊 **Performance \u0026 Analytics**\n\n### **Performance Metrics**\n- **Lighthouse Score**: 95+ (Performance, Accessibility, Best Practices, SEO)\n- **Core Web Vitals**: Optimized for all metrics\n- **Bundle Size**: Optimized with Next.js tree shaking\n- **Loading Speed**: \u003c 2s initial load time\n\n### **Monitoring**\n- **Vercel Analytics**: Real-time performance monitoring\n- **Firebase Analytics**: User behavior tracking\n- **Error Tracking**: Automatic error reporting\n\n---\n\n## 📱 **Mobile Experience**\n\nKonvoGrad is fully responsive and optimized for mobile devices:\n\n- **Progressive Web App (PWA)**: Install as native app\n- **Touch Optimized**: Mobile-friendly interactions\n- **Offline Support**: Basic functionality without internet\n- **Push Notifications**: Real-time updates on mobile\n\n---\n\n## 🔧 **Troubleshooting**\n\n### **Common Issues**\n\n#### **Firebase Connection Issues**\n```bash\n# Check Firebase configuration\nfirebase projects:list\nfirebase use your-project-id\n```\n\n#### **Clerk Authentication Problems**\n- Verify environment variables\n- Check redirect URLs in Clerk dashboard\n- Ensure proper domain configuration\n\n#### **Video Call Issues**\n- Check camera/microphone permissions\n- Verify WebRTC support in browser\n- Test with different browsers\n\n#### **Build Errors**\n```bash\n# Clear cache and reinstall\nrm -rf node_modules .next\npnpm install\npnpm build\n```\n\n---\n\n## 📄 **License**\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n---\n\n## 🙏 **Acknowledgments**\n\n- **Clerk** for authentication\n- **Firebase** for backend services\n- **Cloudinary** for media storage\n- **Vercel** for hosting\n- **Next.js** team for the amazing framework\n- **Tailwind CSS** for styling utilities\n\n---\n\n## 📞 **Support \u0026 Contact**\n\n- **Live Demo**: [https://konvo-grad.vercel.app/](https://konvo-grad.vercel.app/)\n- **Documentation**: [GitHub Wiki](https://github.com/your-username/KonvoGrad/wiki)\n- **Issues**: [GitHub Issues](https://github.com/your-username/KonvoGrad/issues)\n- **Discussions**: [GitHub Discussions](https://github.com/your-username/KonvoGrad/discussions)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Made with ❤️ by the KonvoGrad Team**\n\n[![GitHub stars](https://img.shields.io/github/stars/your-username/KonvoGrad?style=social)](https://github.com/your-username/KonvoGrad)\n[![GitHub forks](https://img.shields.io/github/forks/your-username/KonvoGrad?style=social)](https://github.com/your-username/KonvoGrad)\n[![GitHub issues](https://img.shields.io/github/issues/your-username/KonvoGrad)](https://github.com/your-username/KonvoGrad/issues)\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhuvantenguria%2Fkonvograd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbhuvantenguria%2Fkonvograd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbhuvantenguria%2Fkonvograd/lists"}