https://github.com/aydinthefirst/haloidergisi
  
  
    A magazine website  
    https://github.com/aydinthefirst/haloidergisi
  
blog halo magazine nest nestjs react
        Last synced: 3 months ago 
        JSON representation
    
A magazine website
- Host: GitHub
 - URL: https://github.com/aydinthefirst/haloidergisi
 - Owner: AydinTheFirst
 - Created: 2024-10-30T21:49:57.000Z (about 1 year ago)
 - Default Branch: main
 - Last Pushed: 2025-07-07T20:54:21.000Z (4 months ago)
 - Last Synced: 2025-07-07T22:57:58.778Z (4 months ago)
 - Topics: blog, halo, magazine, nest, nestjs, react
 - Language: TypeScript
 - Homepage: https://haloidergisi.com
 - Size: 8.33 MB
 - Stars: 0
 - Watchers: 1
 - Forks: 0
 - Open Issues: 0
 - 
            Metadata Files:
            
- Readme: README.md
 
 
Awesome Lists containing this project
README
          # 📚 HALO Dergisi
  
  
  **Edebiyatın Kalbi Burada**
  
  [](https://github.com/AydinTheFirst/haloidergisi)
  [](./LICENSE)
  [](https://nodejs.org/)
  [](https://www.typescriptlang.org/)
## 🌟 Proje Hakkında
HALO Dergisi, Türk edebiyatının en taze seslerini buluşturan modern bir dijital dergi platformudur. Şiir, hikaye, deneme ve eleştiri yazılarıyla edebiyat dünyasına katkıda bulunmayı amaçlar.
### ✨ Özellikler
- 📖 **Dijital Dergi Okuma**: Modern ve kullanıcı dostu arayüz
- 💬 **Yorum Sistemi**: Okuyucuların etkileşime geçebileceği platform
- ⭐ **Beğeni ve Reaksiyon**: İçeriklere tepki verebilme
- 🔖 **Yer İmi**: Sevilen yazıları kaydetme
- 🏷️ **Kategori ve Etiket**: Organizasyonlu içerik yapısı
- 📱 **Responsive Tasarım**: Tüm cihazlarda mükemmel görünüm
- 🎨 **Modern UI/UX**: HeroUI ile şık tasarım
- 🔍 **Arama ve Filtreleme**: Gelişmiş içerik keşfi
## 🛠️ Teknoloji Yığını
### Frontend
- **React Router v7** - Modern routing ve SSR
- **TypeScript** - Tip güvenliği
- **Tailwind CSS** - Utility-first CSS framework
- **HeroUI** - Modern React bileşen kütüphanesi
- **GSAP** - Animasyonlar
- **Vite** - Hızlı geliştirme ortamı
### Backend
- **NestJS** - Scalable Node.js framework
- **Prisma** - Modern ORM
- **PostgreSQL** - Güvenilir veritabanı
- **TypeScript** - Full-stack tip güvenliği
### DevOps & Tools
- **Turborepo** - Monorepo yönetimi
- **pnpm** - Performanslı paket yöneticisi
- **ESLint & Prettier** - Kod kalitesi
- **Docker** - Konteynerleştirme
## 🚀 Kurulum ve Çalıştırma
### Gereksinimler
- Node.js 22.x
- pnpm 10.0.0
- PostgreSQL
### 1. Projeyi Klonlayın
```bash
git clone https://github.com/AydinTheFirst/haloidergisi.git
cd haloidergisi
```
### 2. Bağımlılıkları Yükleyin
```bash
pnpm install
```
### 3. Ortam Değişkenlerini Ayarlayın
```bash
# Kök dizinde .env dosyası oluşturun
cp .env.example .env
```
`.env` dosyasını düzenleyin:
```env
# Database
DATABASE_URL="postgresql://username:password@localhost:5432/haloidergisi"
# JWT
JWT_SECRET="your-secret-key"
# CDN/Upload
UPLOAD_DIR="./uploads"
CDN_URL="http://localhost:3001"
# Other configurations
NODE_ENV="development"
```
### 4. Veritabanını Hazırlayın
```bash
# Server dizinine gidin
cd apps/server
# Prisma client'ı generate edin
pnpm db:generate
# Veritabanını oluşturun
pnpm db:push
```
### 5. Uygulamayı Çalıştırın
#### Geliştirme Modu
```bash
# Kök dizinden hem client hem server'ı çalıştır
pnpm dev
```
#### Ayrı Ayrı Çalıştırma
```bash
# Backend (Port: 3001)
cd apps/server
pnpm dev
# Frontend (Port: 5173)
cd apps/client
pnpm dev
```
#### Production Build
```bash
# Tüm projeyi build et
pnpm build
# Production'da çalıştır
pnpm start
```
## 📁 Proje Yapısı
```
haloidergisi/
├── apps/
│   ├── client/                 # React Router v7 Frontend
│   │   ├── src/
│   │   │   ├── components/     # Reusable components
│   │   │   ├── pages/          # Route pages
│   │   │   ├── lib/            # Utilities
│   │   │   ├── models/         # TypeScript types
│   │   │   ├── store/          # State management
│   │   │   └── assets/         # Static files
│   │   ├── public/             # Public assets
│   │   └── package.json
│   │
│   └── server/                 # NestJS Backend
│       ├── src/
│       │   ├── modules/        # Feature modules
│       │   ├── common/         # Shared utilities
│       │   ├── database/       # Database config
│       │   └── types/          # TypeScript types
│       ├── prisma/
│       │   └── schema.prisma   # Database schema
│       └── package.json
│
├── package.json                # Root package.json
├── turbo.json                  # Turborepo config
├── pnpm-workspace.yaml         # pnpm workspace config
└── README.md
```
## 🎯 Kullanım
### 🏠 Ana Sayfa
- Öne çıkan dergiler ve haberler
- Modern hero section
- Kategorilere göz atma
### 📖 Dergi Okuma
- Dijital dergi görüntüleme
- Beğeni ve yorum yapma
- Yer imi ekleme
- Sosyal paylaşım
### 💬 Yorum Sistemi
- Gerçek zamanlı yorumlar
- Nested (iç içe) yorum yapısı
- Moderasyon sistemi
### 🔍 Arama ve Keşif
- Gelişmiş arama
- Kategori ve etiket filtreleme
- İlgili içerik önerileri
## 🔧 Geliştirme
### Script'ler
```bash
# Geliştirme
pnpm dev                # Tüm uygulamaları dev modda çalıştır
pnpm build              # Production build
pnpm lint               # Linting
pnpm format             # Code formatting
pnpm check-types        # TypeScript type checking
# Veritabanı (server dizininde)
pnpm db:generate        # Prisma client generate
pnpm db:push            # Schema'yı veritabanına push et
pnpm db:studio          # Prisma Studio'yu aç
```
### Kod Kalitesi
- **ESLint**: Kod standartları
- **Prettier**: Kod formatı
- **TypeScript**: Tip güvenliği
- **Husky**: Git hooks (opsiyonel)
## 🤝 Katkıda Bulunma
1. Fork edin
2. Feature branch oluşturun (`git checkout -b feature/amazing-feature`)
3. Commit edin (`git commit -m 'Add some amazing feature'`)
4. Push edin (`git push origin feature/amazing-feature`)
5. Pull Request oluşturun
### Geliştirici Kuralları
- TypeScript kullanın
- ESLint kurallarına uyun
- Meaningful commit mesajları yazın
- Test yazın (gelecek güncellemelerde)
## 📝 API Dokümantasyonu
Backend API endpoints:
### Dergiler
- `GET /api/posts` - Tüm dergileri listele
- `GET /api/posts/:id` - Belirli dergiyi getir
- `POST /api/posts` - Yeni dergi oluştur (Admin)
- `PUT /api/posts/:id` - Dergi güncelle (Admin)
- `DELETE /api/posts/:id` - Dergi sil (Admin)
### Yorumlar
- `GET /api/posts/:postId/comments` - Dergi yorumlarını getir
- `POST /api/posts/:postId/comments` - Yorum ekle
- `PUT /api/comments/:id` - Yorum güncelle
- `DELETE /api/comments/:id` - Yorum sil
### Kategoriler
- `GET /api/categories` - Tüm kategoriler
- `POST /api/categories` - Kategori oluştur (Admin)
## 🔐 Güvenlik
- JWT tabanlı authentication
- Role-based authorization
- Input validation
- SQL injection koruması
- XSS koruması
## 📊 Performans
- Server-side rendering (SSR)
- Image optimization
- Lazy loading
- Code splitting
- CDN integration
## 🐛 Sorun Giderme
### Yaygın Sorunlar
**1. Port zaten kullanımda**
```bash
# Port'u kontrol edin
lsof -i :3001
lsof -i :5173
# Process'i sonlandırın
kill -9 
```
**2. Veritabanı bağlantı hatası**
- PostgreSQL'in çalıştığından emin olun
- DATABASE_URL'in doğru olduğunu kontrol edin
- Veritabanının oluşturulduğunu kontrol edin
**3. Prisma hatası**
```bash
cd apps/server
pnpm db:generate
pnpm db:push
```
**4. Build hatası**
```bash
# Cache'i temizle
pnpm clean
rm -rf node_modules
pnpm install
```
## 📱 Demo
Canlı demo: [https://haloidergisi.com](https://haloidergisi.com) (yakında)
## 📄 Lisans
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için [LICENSE](./LICENSE) dosyasına bakın.
## 👥 Katkıda Bulunanlar
## 📞 İletişim
- **Geliştirici**: [AydinTheFirst](https://github.com/AydinTheFirst)
- **Proje Linki**: [https://github.com/AydinTheFirst/haloidergisi](https://github.com/AydinTheFirst/haloidergisi)
- **Website**: [https://haloidergisi.com](https://haloidergisi.com)
---