{"id":29728612,"url":"https://github.com/cilginsinek/kickpoll","last_synced_at":"2025-07-25T02:40:31.056Z","repository":{"id":306138439,"uuid":"1025144146","full_name":"CilginSinek/kickpoll","owner":"CilginSinek","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-23T20:47:50.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-23T22:09:54.322Z","etag":null,"topics":["draw","drawing","kick","kick-api","kick-chat","kick-draw","kick-live-chat","kick-live-draw","kick-live-poll","kick-poll","poll","polling"],"latest_commit_sha":null,"homepage":"https://cilginsinek.github.io/kickpoll/","language":"JavaScript","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/CilginSinek.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}},"created_at":"2025-07-23T19:45:45.000Z","updated_at":"2025-07-23T20:47:53.000Z","dependencies_parsed_at":"2025-07-23T22:10:32.068Z","dependency_job_id":"5a480982-f914-4e8d-a59c-8c4cbdb23d02","html_url":"https://github.com/CilginSinek/kickpoll","commit_stats":null,"previous_names":["cilginsinek/kickpoll"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/CilginSinek/kickpoll","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CilginSinek%2Fkickpoll","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CilginSinek%2Fkickpoll/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CilginSinek%2Fkickpoll/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CilginSinek%2Fkickpoll/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CilginSinek","download_url":"https://codeload.github.com/CilginSinek/kickpoll/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CilginSinek%2Fkickpoll/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266945177,"owners_count":24010494,"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-07-25T02:00:09.625Z","response_time":70,"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":["draw","drawing","kick","kick-api","kick-chat","kick-draw","kick-live-chat","kick-live-draw","kick-live-poll","kick-poll","poll","polling"],"created_at":"2025-07-25T02:40:26.940Z","updated_at":"2025-07-25T02:40:31.043Z","avatar_url":"https://github.com/CilginSinek.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🎯 KickPoll - Kick Chat Poll \u0026 Draw\n\nKick.com chat mesajlarını gerçek zamanlı olarak takip ederek **poll (oylama)** ve **draw (çekiliş)** işlemleri yapabilen modern web uygulaması.\n\n## 🚀 Özellikler\n\n### 📊 Poll (Oylama) Sistemi\n- **Gerçek zamanlı oylama** - Chat mesajları anında işlenir\n- **Çoklu format desteği** - Kullanıcılar sayı (1,2,3) veya metin yazarak oy verebilir\n- **Tekil oy sistemi** - Her kullanıcı sadece bir kez oy verebilir\n- **Görsel grafikler** - Chart.js ile dinamik pasta grafikleri\n- **Sonuç dışa aktarma** - Poll sonuçlarını TXT formatında indirebilme\n- **Canlı istatistikler** - Oy oranları ve toplam oy sayısı\n- **Timer sistemi** - Süre belirleyerek otomatik poll kapanması\n- **Pause/Resume** - Timer'ı durdurma ve devam ettirme\n- **Dublicate koruması** - Aynı seçenekler otomatik birleştiriliyor\n\n### 🎲 Draw (Çekiliş) Sistemi\n- **Katılımcı toplama** - Belirtilen kelimeyi yazanları otomatik kayıt\n- **Özelleştirilebilir kelime** - Ana sayfada katılım kelimesi belirleme\n- **Rastgele seçim** - Adil çekiliş algoritması\n- **Görsel animasyonlar** - Çekiliş sırasında dönen animasyon efektleri\n- **Kazanan gösterimi** - Büyük ve gösterişli kazanan ekranı\n- **Katılımcı takibi** - Gerçek zamanlı katılımcı listesi\n- **Otomatik çekiliş** - Süre bitince kendiliğinden başlar\n- **Timer kontrolü** - Süre durdurma ve devam ettirme\n\n## ⏰ Timer Sistemi\n\n### Ortak Süre Ayarı:\n- **Tek input** - Poll ve Draw için ortak süre ayarı\n- **Saniye/Dakika** seçeneği\n- **1-3600** arası değer girişi\n- **Opsiyonel** - Boş bırakılırsa süresiz çalışır\n\n### Poll Timer:\n- Süre bitince **oy almayı durdurur**\n- Sonuçları otomatik gösterir\n- Kazanan/berabere analizi\n\n### Draw Timer:\n- Süre boyunca **katılımcı toplar**\n- Süre bitince **otomatik çekiliş başlar**\n- Katılımcı yoksa uyarı verir\n\n## 🎨 Tasarım Özellikleri\n\n- **Modern Glassmorphism** tasarım\n- **Responsive** layout - Mobil ve masaüstü uyumlu\n- **Smooth animasyonlar** ve geçiş efektleri\n- **Tailwind CSS** ile profesyonel görünüm\n- **Font Awesome** ikonları\n- **Gradient** arka planlar ve butonlar\n\n## 📱 Kullanım\n\n### Poll Başlatma:\n1. Ana sayfada **Kick kanal adını** girin\n2. **Poll seçeneklerini** virgülle ayırarak yazın (örn: `evet,hayır,kararsızım`)\n3. **Süre belirleyin** (opsiyonel) - örn: `30 saniye`\n4. \"Poll Başlat\" butonuna tıklayın\n5. Kullanıcılar chat'te sayı veya seçenek yazarak oy verir\n6. Timer bitince otomatik kapanır veya manuel sıfırlayabilirsiniz\n\n### Draw Başlatma:\n1. Ana sayfada **Kick kanal adını** girin\n2. **Katılım kelimesini** belirleyin (örn: `katıl`, `!join`)\n3. **Süre belirleyin** (opsiyonel) - örn: `2 dakika`\n4. \"Draw Başlat\" butonuna tıklayın\n5. Kullanıcılar belirlediğiniz kelimeyi yazarak katılır\n6. Süre varsa otomatik başlar, yoksa manuel başlatırsınız\n\n## 🎮 Kontrol Özellikleri\n\n### Timer Kontrolü:\n- **Durdur** - Timer'ı geçici olarak durdurur\n- **Devam Et** - Timer kaldığı yerden devam eder\n- **Sıfırla** - Her şeyi sıfırlar ve timer'ı yeniden başlatır\n\n### Poll Kontrolü:\n- **Sıfırla** - Tüm oyları sıfırlar, timer yeniden başlar\n- **İndir** - Sonuçları TXT formatında indirir\n- **Durdur/Devam** - Timer kontrolü\n\n### Draw Kontrolü:\n- **Çekilişi Başlat** - Manuel çekiliş başlatır\n- **Sıfırla** - Katılımcıları sıfırlar, timer yeniden başlar\n- **Durdur/Devam** - Timer kontrolü\n\n## 🔧 Teknik Detaylar\n\n### Kullanılan Teknolojiler:\n- **HTML5** - Semantic markup\n- **CSS3** - Modern styling ve animasyonlar\n- **JavaScript ES6+** - Dinamik işlevsellik\n- **Tailwind CSS** - Utility-first CSS framework\n- **Chart.js** - Grafik görselleştirme\n- **Font Awesome** - Icon library\n\n### API Bağlantıları:\n- **Kick.com API** - Kanal bilgilerini alma\n- **WebSocket** - Gerçek zamanlı chat mesajları\n- **Pusher WebSocket** - Kick chat protokolü\n\n### Özellikler:\n- **CORS** uyumlu API çağrıları\n- **Otomatik yeniden bağlanma** sistemi\n- **LocalStorage** kullanarak veri saklama\n- **Responsive** tasarım\n- **Real-time** güncellemeler\n\n## 📂 Dosya Yapısı\n\n```\nkickpoll/\n├── index.html          # Ana sayfa - Kanal, seçenek, süre ve keyword girişi\n├── poll.html           # Poll sayfası - Oylama takibi ve timer\n├── draw.html           # Draw sayfası - Çekiliş sistemi ve timer\n├── app.js              # Ana JavaScript - Ortak fonksiyonlar\n├── poll.js             # Poll JavaScript - Oylama mantığı ve timer\n├── draw.js             # Draw JavaScript - Çekiliş mantığı ve timer\n└── README.md           # Proje dokümantasyonu\n```\n\n## 🚦 Kurulum ve Çalıştırma\n\n1. **Dosyaları indirin** veya klonlayın\n2. **Web tarayıcısında** `index.html` dosyasını açın\n3. **Kick kanal adını** girin\n4. **Poll/Draw** ayarlarını yapın\n5. **Timer** belirleyin (opsiyonel)\n6. **Poll/Draw** başlatın\n4. **İnternet bağlantısı** gereklidir (CDN'ler için)\n\n## 🌐 Tarayıcı Uyumluluğu\n\n- ✅ **Chrome** 80+\n- ✅ **Firefox** 75+\n- ✅ **Safari** 13+\n- ✅ **Edge** 80+\n- ✅ **Mobile** tarayıcılar\n\n## 📈 Kullanım Senaryoları\n\n### Poll Örnekleri:\n- Oyun seçimi: `cs2,valorant,lol`\n- Karar verme: `evet,hayır,kararsızım`\n- Sıralama: `1,2,3,4,5`\n\n### Draw Örnekleri:\n- Oyun key dağıtımı\n- Topluyo Turbo çekilişi\n- Özel ödül dağıtımı\n- Takipçi etkinlikleri\n\n## 🔒 Güvenlik\n\n- **Client-side** uygulama - Sunucu gerekmez\n- **Kick API** üzerinden güvenli bağlantı\n- **Kişisel veri** saklanmaz\n- **Real-time** veriler geçici\n\n## 🤝 Katkı\n\nBu proje **açık kaynak** ve geliştirilmeye açıktır. İyileştirme önerileri ve bug raporları memnuniyetle karşılanır.\n\n## 📄 Lisans\n\nBu proje **MIT Lisansı** altında dağıtılmaktadır.\n\n---\n\n### 🎉 **Kick streamerları için mükemmel bir araç!**\n\n**KickPoll** ile canlı yayınlarınızda interaktif poll'lar düzenleyin ve çekiliş yapın. Takipçilerinizle etkileşimi artırın!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcilginsinek%2Fkickpoll","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcilginsinek%2Fkickpoll","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcilginsinek%2Fkickpoll/lists"}