CoupleTest, çiftlerin birbirlerini ne kadar iyi tanıdığını ölçmek amacıyla kişiselleştirilmiş, eğlenceli ve yapay zeka destekli ilişki testleri oluşturup çözebilecekleri açık kaynaklı bir mobil uygulamadır.
- 🤖 Sıfır Maliyetli & Güvenli Yapay Zeka Entegrasyonu: Uygulama sunucu tarafında hiçbir API anahtarı tutmaz. Kullanıcı kendi yapay zekasını (ChatGPT, Gemini vb.) kullanarak tamamen kendisine özel testler üretir.
- 🔗 Deep Link Paylaşımı (
coupletest://): Üretilen test tek bir bağlantı ile partnerle paylaşılır. Linke tıklandığında uygulama cihazda doğrudan açılır. - 🛡️ Gelişmiş Veritabanı Güvenliği (RLS): Supabase Row Level Security ile tüm veriler yetkisiz erişimlere karşı koruma altındadır.
- 📝 Güçlü Form Doğrulaması:
react-hook-formvezodentegrasyonu sayesinde anlık ve dinamik veri doğrulama. - 🚨 Kesintisiz Kullanıcı Deneyimi:
react-error-boundaryile çalışma zamanı hatalarında uygulamayı çökertmeyen kullanıcı dostu kurtarma ekranı. - 🎨 Modern Koyu Mod Tasarımı: Akıcı animasyonlar, özel renk paleti ve yüksek kullanılabilirlik.
| Bileşen | Teknoloji |
|---|---|
| Mobil Çerçeve | React Native / Expo SDK 57 |
| Paket Yöneticisi | Bun |
| Backend & Veritabanı | Supabase (PostgreSQL, Auth, RLS) |
| Serverless Functions | Supabase Edge Functions (Deno) |
| Form & Validasyon | React Hook Form & Zod |
| Hata Yönetimi | React Error Boundary |
CoupleTest/
├── src/
│ ├── components/ # Global ve özelleştirilmiş UI bileşenleri (ErrorBoundary vb.)
│ ├── lib/ # Tema (Colors, Typography, Spacing) ve Supabase İstemcisi
│ ├── navigation/ # React Navigation yapılandırması & Deep Link ayarları
│ └── screens/ # Uygulama ekranları (Login, Home, CreateQuiz, Share, QuizPlay)
├── supabase/
│ ├── config.toml # Supabase yerel konfigürasyonu
│ ├── functions/ # Edge Functions (share-quiz deep link yönlendirmesi)
│ └── migrations/ # RLS ve veritabanı şema SQL göç dosyaları
├── App.tsx # Ana uygulama giriş noktası
└── package.json # Bağımlılıklar ve npm/bun scriptleriBilgisayarınızda aşağıdaki araçların kurulu olduğundan emin olun:
- Node.js (v18+)
- Bun paket yöneticisi
- Expo Go uygulaması (Fiziksel cihazınızda test etmek için) veya Android Studio / Xcode (Emülatörler için)
- Supabase CLI (
bunx supabase)
git clone https://github.com/kullaniciadi/CoupleTest.git
cd CoupleTest
# Bağımlılıkları yükleyin
bun installKök dizinde .env adında bir dosya oluşturun ve Supabase bilgilerinizi ekleyin:
EXPO_PUBLIC_SUPABASE_URL=https://<PROJECT_REF>.supabase.co
EXPO_PUBLIC_SUPABASE_ANON_KEY=<YOUR_SUPABASE_ANON_KEY>Supabase projenize bağlanın ve RLS politikalarını veritabanınıza uygulayın:
# Supabase projenizi bağlayın
bunx supabase link --project-ref <PROJECT_REF>
# Veritabanı migrasyonlarını gönderin
yes y | bunx supabase db pushDeep link yönlendirmesini sağlayan share-quiz Edge Function'ını canlı ortama gönderin:
bunx supabase functions deploy share-quizAndroid cihazda veya emülatörde çalıştırmak için:
bun run androidiOS simülatöründe çalıştırmak için (macOS gerektirir):
bun run ios- Giriş Yapın / Kaydolun: E-posta ve şifrenizle veya Google OAuth seçeneğiyle oturum açın.
- Test Oluşturun:
- Adım 1: Partnerinizin adını ve test kategorisini (Aşk, İletişim, Yakınlık, Eğlence) seçin.
- Adım 2: Testin konusunu veya özel anı detaylarını girin.
- Adım 3: "Promptu Kopyala" butonuna basın, kopyalanan metni ChatGPT veya Gemini hesabınıza yapıştırın. Yapay zekanın ürettiği JSON çıktısını uygulamadaki kutuya yapıştırıp "Testi Kaydet"e tıklayın.
- Paylaşın & Çözün: Oluşan bağlantıyı partnerinize gönderin. Partneriniz linke tıkladığında test doğrudan mobil uygulamasında açılacaktır!
Katkılarınızı bekliyoruz! Hata bildirimleri veya yeni özellik talepleri için lütfen Issue açın veya bir Pull Request gönderin:
- Depoyu forklayın (
git checkout -b feature/YeniOzellik) - Değişikliklerinizi commit edin (
git commit -m 'feat: Yeni özellik eklendi') - Dalınızı push edin (
git push origin feature/YeniOzellik) - Bir Pull Request oluşturun.
Bu proje MIT Lisansı altında lisanslanmıştır.
CoupleTest is an open-source mobile application designed for couples to create and solve personalized, fun, and AI-powered relationship quizzes to discover how well they truly know each other.
- 🤖 Zero-Cost & Secure AI Integration: The app stores no AI API keys on the server. Users generate personalized quizzes using their own personal AI accounts (ChatGPT, Gemini, etc.), eliminating API costs and security risks.
- 🔗 Deep Link Sharing (
coupletest://): Quizzes are shared via a single dynamic link. Tapping the link directly launches the quiz inside the mobile app. - 🛡️ Robust Database Security (RLS): Powered by Supabase Row Level Security to ensure strict data privacy and access control.
- 📝 Strict Form Validation: Dynamic schema validation powered by
react-hook-formandzod. - 🚨 Seamless Error Handling: Integrated with
react-error-boundaryto provide a user-friendly recovery UI during runtime errors. - 🎨 Modern Dark Mode UI: Smooth micro-animations, tailored color palette, and high usability.
| Component | Technology |
|---|---|
| Mobile Framework | React Native / Expo SDK 57 |
| Package Manager | Bun |
| Backend & Database | Supabase (PostgreSQL, Auth, RLS) |
| Serverless Functions | Supabase Edge Functions (Deno) |
| Form & Validation | React Hook Form & Zod |
| Error Boundary | React Error Boundary |
CoupleTest/
├── src/
│ ├── components/ # Global & UI components (ErrorBoundary, etc.)
│ ├── lib/ # Theme tokens (Colors, Typography, Spacing) & Supabase Client
│ ├── navigation/ # React Navigation setup & Deep Linking config
│ └── screens/ # Core screens (Login, Home, CreateQuiz, Share, QuizPlay)
├── supabase/
│ ├── config.toml # Supabase local project config
│ ├── functions/ # Serverless Edge Functions (share-quiz deep link redirect)
│ └── migrations/ # RLS policies & SQL schema migration files
├── App.tsx # Application entry point
└── package.json # Dependencies and npm/bun scriptsEnsure you have the following installed on your machine:
- Node.js (v18+)
- Bun package manager
- Expo Go app (for physical device testing) or Android Studio / Xcode (for emulators)
- Supabase CLI (
bunx supabase)
git clone https://github.com/yourusername/CoupleTest.git
cd CoupleTest
# Install dependencies
bun installCreate a .env file in the root directory and fill in your Supabase credentials:
EXPO_PUBLIC_SUPABASE_URL=https://<PROJECT_REF>.supabase.co
EXPO_PUBLIC_SUPABASE_ANON_KEY=<YOUR_SUPABASE_ANON_KEY>Link your Supabase project and push the database migrations:
# Link your Supabase project
bunx supabase link --project-ref <PROJECT_REF>
# Apply database migrations
yes y | bunx supabase db pushDeploy the share-quiz Edge Function for deep link redirection:
bunx supabase functions deploy share-quizTo launch on Android device or emulator:
bun run androidTo launch on iOS simulator (requires macOS):
bun run ios- Sign In / Sign Up: Log in using your email/password or Google OAuth.
- Create a Quiz:
- Step 1: Enter your partner's name and choose a category (Love, Communication, Intimacy, Fun).
- Step 2: Enter a specific topic or shared memories.
- Step 3: Tap "Copy Prompt", paste it into your ChatGPT/Gemini account, then paste the AI's JSON output back into the app and tap "Save Quiz".
- Share & Play: Send the generated link to your partner. When your partner clicks the link, the quiz will open directly inside the app!
Contributions are welcome! Please feel free to open an Issue or submit a Pull Request:
- Fork the repository (
git checkout -b feature/NewFeature) - Commit your changes (
git commit -m 'feat: Add new feature') - Push to the branch (
git push origin feature/NewFeature) - Open a Pull Request.
This project is licensed under the MIT License.