{"id":26833263,"url":"https://github.com/cotneo/sozluk","last_synced_at":"2025-03-30T15:28:29.919Z","repository":{"id":282304845,"uuid":"947621087","full_name":"CotNeo/sozluk","owner":"CotNeo","description":"hubX-sozluk","archived":false,"fork":false,"pushed_at":"2025-03-13T21:07:14.000Z","size":116,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-13T21:34:35.404Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://sozluk-one.vercel.app","language":"TypeScript","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/CotNeo.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}},"created_at":"2025-03-13T01:28:22.000Z","updated_at":"2025-03-13T21:07:18.000Z","dependencies_parsed_at":"2025-03-13T21:44:45.463Z","dependency_job_id":null,"html_url":"https://github.com/CotNeo/sozluk","commit_stats":null,"previous_names":["cotneo/sozluk"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CotNeo%2Fsozluk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CotNeo%2Fsozluk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CotNeo%2Fsozluk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CotNeo%2Fsozluk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CotNeo","download_url":"https://codeload.github.com/CotNeo/sozluk/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246337679,"owners_count":20761259,"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","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":[],"created_at":"2025-03-30T15:28:29.453Z","updated_at":"2025-03-30T15:28:29.911Z","avatar_url":"https://github.com/CotNeo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hubX sözlük\r\n\r\nModern bir sosyal sözlük platformu. Next.js, TypeScript, MongoDB ve Tailwind CSS ile geliştirilmiştir.\r\n\r\n## Proje Hakkında\r\n\r\nhubX sözlük, kullanıcıların çeşitli konular hakkında başlıklar açabildiği, bu başlıklar altında entryler (girdiler) yazabildiği ve diğer kullanıcıların entrylerini beğenebildiği veya yorum yapabildiği bir sosyal platform uygulamasıdır.\r\n\r\n## Teknolojiler\r\n\r\n- **Frontend**: Next.js 14, React 18, TypeScript\r\n- **Backend**: Next.js API Routes\r\n- **Veritabanı**: MongoDB, Mongoose\r\n- **Kimlik Doğrulama**: NextAuth.js\r\n- **Stil**: Tailwind CSS\r\n- **Gerçek Zamanlı İletişim**: Socket.io\r\n- **Paket Yöneticisi**: npm\r\n\r\n## Proje Durumu\r\n\r\n### Tamamlanan İşlemler\r\n\r\n#### Bileşenler\r\n- ✅ **Header**: Üst menü bileşeni, arama kutusu ve navigasyon linkleri içerir\r\n- ✅ **Footer**: Alt bilgi bileşeni, sosyal medya linkleri ve telif hakkı bilgisi içerir\r\n- ✅ **TopicCard**: Başlık kartı bileşeni, başlık bilgilerini görüntüler\r\n- ✅ **EntryCard**: Entry kartı bileşeni, entry içeriğini ve beğeni/yorum butonlarını içerir\r\n- ✅ **EntryForm**: Entry formu bileşeni, yeni entry oluşturmak için kullanılır\r\n- ✅ **CommentSection**: Yorum bölümü bileşeni, yorumları listeler ve yeni yorum ekleme formu içerir\r\n\r\n#### Sayfalar\r\n- ✅ **Ana Sayfa**: Karşılama sayfası ve popüler başlıkları gösterir\r\n- ✅ **Giriş Sayfası**: Kullanıcı girişi için form içerir\r\n- ✅ **Kayıt Sayfası**: Yeni kullanıcı kaydı için form içerir\r\n- ✅ **Popüler Başlıklar Sayfası**: En popüler başlıkları listeler\r\n- ✅ **Bugünkü Başlıklar Sayfası**: Bugün oluşturulan başlıkları listeler\r\n- ✅ **DEBE (Dünün En Beğenilen Entryleri) Sayfası**: Dün en çok beğeni alan entryleri listeler\r\n- ✅ **Başlık Oluşturma Sayfası**: Yeni başlık oluşturmak için form içerir\r\n- ✅ **Başlık Detay Sayfası**: Belirli bir başlığın detaylarını ve entrylerini gösterir\r\n- ✅ **Entry Detay Sayfası**: Belirli bir entrynin detaylarını ve yorumlarını gösterir\r\n\r\n#### API Rotaları\r\n- ✅ **Kimlik Doğrulama API'leri**: Kullanıcı girişi ve kaydı için API rotaları\r\n  - `/api/auth/[...nextauth]`: NextAuth.js ile kimlik doğrulama\r\n  - `/api/users/register`: Kullanıcı kaydı\r\n- ✅ **Başlık API'leri**: Başlık oluşturma ve listeleme için API rotaları\r\n  - `/api/topics`: Başlık oluşturma (POST) ve listeleme (GET)\r\n  - `/api/topics?popular=true`: Popüler başlıkları listeleme\r\n  - `/api/topics?today=true`: Bugünkü başlıkları listeleme\r\n- ✅ **Entry API'leri**: Entry oluşturma ve listeleme için API rotaları\r\n  - `/api/entries`: Entry oluşturma (POST) ve listeleme (GET)\r\n  - `/api/entries?topic=:topicId`: Belirli bir başlığa ait entryleri listeleme\r\n  - `/api/entries?debe=true`: Dünün en beğenilen entrylerini listeleme\r\n- ✅ **Yorum API'leri**: Yorum oluşturma ve listeleme için API rotaları\r\n  - `/api/comments`: Yorum oluşturma (POST) ve listeleme (GET)\r\n  - `/api/comments?entryId=:entryId`: Belirli bir entrye ait yorumları listeleme\r\n- ✅ **Beğeni API'leri**: Entry beğenme ve beğeniyi kaldırma için API rotaları\r\n  - `/api/likes`: Entry beğenme (POST) ve beğeniyi kaldırma (DELETE)\r\n\r\n#### Modeller\r\n- ✅ **User**: Kullanıcı modeli\r\n- ✅ **Topic**: Başlık modeli\r\n- ✅ **Entry**: Entry modeli\r\n- ✅ **Comment**: Yorum modeli\r\n\r\n#### Yardımcı Fonksiyonlar\r\n- ✅ **dbConnect**: MongoDB bağlantısı için yardımcı fonksiyon\r\n- ✅ **socket**: Socket.io istemci ve sunucu bağlantısı için yardımcı fonksiyonlar\r\n\r\n#### Tip Tanımlamaları\r\n- ✅ **next-auth.d.ts**: NextAuth için genişletilmiş tip tanımlamaları\r\n\r\n### Tamamlanacak İşlemler\r\n\r\n#### Kullanıcı Yönetimi\r\n- ⬜ **Kullanıcı Profil Sayfası**: Kullanıcı profilini görüntüleme ve düzenleme\r\n- ⬜ **Şifre Sıfırlama**: Kullanıcıların şifrelerini sıfırlaması için fonksiyonalite\r\n- ⬜ **Kullanıcı Takip Etme**: Kullanıcıların birbirlerini takip etmesi için fonksiyonalite\r\n- ⬜ **Kullanıcı Ayarları**: Kullanıcı tercihlerini yönetme\r\n\r\n#### İçerik Yönetimi\r\n- ⬜ **Entry Düzenleme**: Kullanıcıların kendi entrylerini düzenlemesi\r\n- ⬜ **Entry Silme**: Kullanıcıların kendi entrylerini silmesi\r\n- ⬜ **Başlık Düzenleme**: Moderatörlerin başlıkları düzenlemesi\r\n- ⬜ **İçerik Raporlama**: Uygunsuz içeriği raporlama mekanizması\r\n\r\n#### Arama Özellikleri\r\n- ⬜ **Başlık Arama**: Başlıklar içinde arama yapma\r\n- ⬜ **Entry İçeriği Arama**: Entry içeriklerinde arama yapma\r\n- ⬜ **Gelişmiş Filtreleme**: Tarih, popülerlik, etiket gibi kriterlere göre filtreleme\r\n\r\n#### Bildirim Sistemi\r\n- ⬜ **Beğeni Bildirimleri**: Kullanıcıların entryleri beğenildiğinde bildirim\r\n- ⬜ **Yorum Bildirimleri**: Kullanıcıların entrylerinde yorum yapıldığında bildirim\r\n- ⬜ **Takip Bildirimleri**: Takip edilen kullanıcılar yeni entry eklediğinde bildirim\r\n\r\n#### Yönetim Paneli\r\n- ⬜ **Moderatör Paneli**: Moderatörler için özel yönetim paneli\r\n- ⬜ **İçerik Onaylama/Reddetme**: Moderatörlerin içerikleri onaylaması veya reddetmesi\r\n- ⬜ **Kullanıcı Yönetimi**: Moderatörlerin kullanıcıları yönetmesi\r\n\r\n#### Performans İyileştirmeleri\r\n- ⬜ **Sayfalama Optimizasyonu**: Büyük veri setleri için sayfalama\r\n- ⬜ **Önbellek Stratejileri**: Verilerin önbelleğe alınması\r\n- ⬜ **Görüntü Optimizasyonu**: Görsellerin optimizasyonu\r\n\r\n#### Mobil Uyumluluk İyileştirmeleri\r\n- ⬜ **Responsive Tasarım İyileştirmeleri**: Mobil cihazlar için daha iyi kullanıcı deneyimi\r\n- ⬜ **Mobil-Spesifik Özellikler**: Mobil cihazlara özel özellikler\r\n\r\n#### Ek Özellikler\r\n- ⬜ **Tema Seçenekleri**: Açık/koyu tema seçeneği\r\n- ⬜ **Çoklu Dil Desteği**: Farklı dil seçenekleri\r\n- ⬜ **Sosyal Medya Entegrasyonu**: Sosyal medya platformlarıyla entegrasyon\r\n- ⬜ **İstatistikler**: Kullanıcı ve içerik istatistikleri\r\n\r\n## Proje Yapısı\r\n\r\n```\r\nhubx-sozluk/\r\n├── app/                    # Next.js 14 App Router yapısı\r\n│   ├── api/                # API rotaları\r\n│   │   ├── auth/           # Kimlik doğrulama API'leri\r\n│   │   ├── users/          # Kullanıcı API'leri\r\n│   │   ├── topics/         # Başlık API'leri\r\n│   │   ├── entries/        # Entry API'leri\r\n│   │   ├── comments/       # Yorum API'leri\r\n│   │   └── likes/          # Beğeni API'leri\r\n│   ├── components/         # Paylaşılan bileşenler\r\n│   │   ├── Header.tsx      # Üst menü bileşeni\r\n│   │   ├── Footer.tsx      # Alt bilgi bileşeni\r\n│   │   ├── TopicCard.tsx   # Başlık kartı bileşeni\r\n│   │   ├── EntryCard.tsx   # Entry kartı bileşeni\r\n│   │   ├── EntryForm.tsx   # Entry formu bileşeni\r\n│   │   └── CommentSection.tsx # Yorum bölümü bileşeni\r\n│   ├── models/             # Mongoose modelleri\r\n│   │   ├── User.ts         # Kullanıcı modeli\r\n│   │   ├── Topic.ts        # Başlık modeli\r\n│   │   ├── Entry.ts        # Entry modeli\r\n│   │   └── Comment.ts      # Yorum modeli\r\n│   ├── login/              # Giriş sayfası\r\n│   ├── register/           # Kayıt sayfası\r\n│   ├── popular/            # Popüler başlıklar sayfası\r\n│   ├── today/              # Bugünkü başlıklar sayfası\r\n│   ├── debe/               # Dünün en beğenilen entryleri sayfası\r\n│   ├── topic/[slug]/       # Başlık detay sayfası\r\n│   ├── entry/[id]/         # Entry detay sayfası\r\n│   ├── user/[username]/    # Kullanıcı profil sayfası\r\n│   ├── topics/create/      # Başlık oluşturma sayfası\r\n│   ├── layout.tsx          # Ana layout\r\n│   ├── page.tsx            # Ana sayfa\r\n│   └── globals.css         # Global CSS\r\n├── lib/                    # Yardımcı fonksiyonlar\r\n│   ├── dbConnect.ts        # MongoDB bağlantı yardımcısı\r\n│   └── socket.ts           # Socket.io istemci yardımcısı\r\n├── public/                 # Statik dosyalar\r\n├── types/                  # TypeScript tip tanımlamaları\r\n│   └── next-auth.d.ts      # NextAuth tip tanımlamaları\r\n├── .env.local              # Ortam değişkenleri (örnek)\r\n├── next.config.js          # Next.js yapılandırması\r\n├── tailwind.config.js      # Tailwind CSS yapılandırması\r\n├── tsconfig.json           # TypeScript yapılandırması\r\n└── package.json            # Proje bağımlılıkları\r\n```\r\n\r\n## Kurulum\r\n\r\n1. Projeyi klonlayın:\r\n```bash\r\ngit clone https://github.com/CotNeo/hubx-sozluk.git\r\ncd hubx-sozluk\r\n```\r\n\r\n2. Bağımlılıkları yükleyin:\r\n```bash\r\nnpm install\r\n```\r\n\r\n3. `.env.local` dosyasını oluşturun:\r\n```\r\nMONGODB_URI=mongodb://localhost:27017/hubx-sozluk\r\nNEXTAUTH_SECRET=your-secret-key\r\nNEXTAUTH_URL=http://localhost:3000\r\n```\r\n\r\n4. Geliştirme sunucusunu başlatın:\r\n```bash\r\nnpm run dev\r\n```\r\n\r\n5. Tarayıcınızda [http://localhost:3000](http://localhost:3000) adresini açın.\r\n\r\n## Bilinen Sorunlar ve Çözümleri\r\n\r\n### API Rotaları\r\n- **Entries API'sindeki Sıralama Sorunu**: `app/api/entries/route.ts` dosyasında `sort` parametresi için TypeScript hatası bulunmaktadır. Bu sorunu çözmek için `sort` parametresini doğru tipte tanımlamak gerekiyor.\r\n\r\n### Bileşenler\r\n- **EntryCard Bileşeni**: `app/components/EntryCard.tsx` dosyasında `SimpleEntry` ve `IEntry` tipleri arasında uyumsuzluk bulunmaktadır. Bu sorunu çözmek için tipleri daha iyi eşleştirmek gerekiyor.\r\n\r\n## Katkıda Bulunma\r\n\r\n1. Bu depoyu fork edin\r\n2. Özellik dalınızı oluşturun (`git checkout -b feature/amazing-feature`)\r\n3. Değişikliklerinizi commit edin (`git commit -m 'Add some amazing feature'`)\r\n4. Dalınıza push edin (`git push origin feature/amazing-feature`)\r\n5. Bir Pull Request açın\r\n\r\n## İletişim\r\n\r\nProje Sahibi - [@github_CotNeo](https://github.com/CotNeo)\r\n\r\nProje Linki: [https://github.com/CotNeo/hubx-sozluk](https://github.com/kCotNeo/hubx-sozluk) \r\n\r\n## Lisans\r\n\r\nBu proje MIT Lisansı altında lisanslanmıştır - Detaylar için [LICENSE](LICENSE) dosyasına bakınız. \r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcotneo%2Fsozluk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcotneo%2Fsozluk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcotneo%2Fsozluk/lists"}