Easy-to-manage touch screens
Free, open-source touch screens. Guided USB setup, a drag-and-drop editor and local control. Made for Home Assistant.
Mesai sonrası etkinlikler — konser, tiyatro, stand-up ve daha fazlası. İstanbul, Ankara ve İzmir.
Translation pending
LifestyleTypeScript · PLpgSQLGitHub @bertkayaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Mesai sonrası (18:00–23:00) etkinlik keşif uygulaması: İstanbul, Ankara ve İzmir'deki konser, tiyatro, stand-up ve daha fazlası; harita + liste, kişisel uyum puanı, "Bu Akşamı Planla" ve "Sürpriz Yap". Stack: Next.js 16 (App Router) · React 19 · Tailwind 3 · Supabase (Postgres + Auth) · Leaflet · Puppeteer/Cheerio scraper'lar (GitHub Actions) Şema + RLS tek dosyada ve idempotent: supabase/migrations/20260928000000_schema_and_rls.sql. Supabase Dashboard > SQL Editor'da çalıştırın (mevcut veritabanında güvenle tekrar çalıştırılabilir).Read the full README ↗
Mesai sonrası (18:00–23:00) etkinlik keşif uygulaması: İstanbul, Ankara ve İzmir'deki konser, tiyatro, stand-up ve daha fazlası; harita + liste, kişisel uyum puanı, "Bu Akşamı Planla" ve "Sürpriz Yap".
Stack: Next.js 16 (App Router) · React 19 · Tailwind 3 · Supabase (Postgres + Auth) · Leaflet · Puppeteer/Cheerio scraper'lar (GitHub Actions)
npm install
cp env.example .env.local # değerleri doldurun
npm run dev
| Değişken | Nerede | Açıklama |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL / NEXT_PUBLIC_SUPABASE_ANON_KEY | public | Supabase > Project Settings > API |
NEXT_PUBLIC_SITE_URL | public | Canonical adres (paylaşım linkleri, sitemap, OG). Domain değişince sadece bunu güncelleyin |
NEXT_PUBLIC_DEMO_MODE | public | true ise prod'da DB boşken demo etkinlikler gösterilir |
SUPABASE_SERVICE_ROLE_KEY | sunucu | Admin proxy'si, form gönderimleri, hesap silme ve scraper'lar için. Asla NEXT_PUBLIC_ yapmayın |
ADMIN_PASSWORD | sunucu | /admin şifresi (≥12 karakter) |
ADMIN_SESSION_SECRET | sunucu | Admin cookie imzası (≥32 karakter) |
GEMINI_API_KEY | script | Opsiyonel, scripts/enrich_events.ts |
Şema + RLS tek dosyada ve idempotent: supabase/migrations/20260928000000_schema_and_rls.sql. Supabase Dashboard > SQL Editor'da çalıştırın (mevcut veritabanında güvenle tekrar çalıştırılabilir).
Güvenlik modeli:
lib/admin-db.ts istekleri /api/admin/sb/* proxy'sine yollar; proxy httpOnly admin cookie'sini doğrular ve service_role ile PostgREST'e iletir.venue_applications, event_suggestions) /api/submit üzerinden: doğrulama + honeypot + IP başına rate limit.npx tsx scripts/run_scrapers.ts # hepsi
npx tsx scripts/run_scrapers.ts bubilet # tek kaynak
.github/workflows/scrape_events.yml 6 saatte bir çalışır. Repo secrets: NEXT_PUBLIC_SUPABASE_URL, SUPABASE_SERVICE_ROLE_KEY. Çekilen etkinlikler is_approved=false ile admin onayına düşer.
| Yol | Açıklama |
|---|---|
/ | Harita + akış, keşif modları, filtreler (?event=ID ile etkinlik açılır) |
/etkinlik/[id] | SSR/ISR etkinlik sayfası, OG + JSON-LD (paylaşım ve SEO) |
/login, /reset-password | Giriş, kayıt (KVKK onaylı), şifre sıfırlama |
/profile, /onboarding, /calendar | Kullanıcı alanı (hesap silme dahil) |
/venue | Mekân sahibinin etkinlik önermesi |
/admin | Yönetim paneli (env şifresi) |
/kvkk | Aydınlatma metni — köşeli parantezli alanları doldurun |
NEXT_PUBLIC_SITE_URL, Redirect URLs'e <site>/reset-password ve <site>/onboarding ekleyin.NEXT_PUBLIC_SUPABASE_URL ve SUPABASE_SERVICE_ROLE_KEY ekleyin (scraper workflow).