Modern ve kullanıcı dostu bir React uygulaması ile JSON verilerinizi dinamik grafiklere dönüştürün. Sürükle-bırak özelliği, gerçek zamanlı önizleme ve çoklu grafik türü desteği ile verilerinizi görselleştirin.
- 🎯 Kolay JSON Girişi: Metin alanına yazın veya dosya sürükle-bırak
- 📊 Çoklu Grafik Türleri: Bar, Line, Pie, Area, Scatter Plot
- 🎨 Renk Özelleştirme: Her seri için özel renk seçimi
- ⚡ Gerçek Zamanlı Önizleme: Değişiklikler anında yansır
- 💾 Grafik İndirme: PNG formatında yüksek kaliteli indirme
- 📱 Duyarlı Tasarım: Mobil ve masaüstü uyumlu
- 🔧 Dinamik Konfigürasyon: X/Y ekseni seçimi ve çoklu veri serisi
- Next.js 15 - React framework
- TypeScript - Tip güvenliği
- Tailwind CSS - Modern styling
- Recharts - Grafik kütüphanesi
- React Dropzone - Dosya yükleme
- Lucide React - İkonlar
- html2canvas - Grafik indirme
-
Depoyu klonlayın:
git clone <repo-url> cd json-to-chart
-
Bağımlılıkları yükleyin:
npm install
-
Geliştirme sunucusunu başlatın:
npm run dev
-
Tarayıcıda açın: http://localhost:3000
Metin Alanı ile:
[
{"month": "Ocak", "sales": 1200, "profit": 400},
{"month": "Şubat", "sales": 1900, "profit": 600},
{"month": "Mart", "sales": 1500, "profit": 500}
]Dosya Sürükle-Bırak ile:
- JSON dosyasını sürükleyip bırakma alanına bırakın
.jsonve.txtdosyaları desteklenir
- Grafik Türü: Bar, Line, Pie, Area, Scatter seçin
- X Ekseni: Kategori alanını seçin (örn: "month")
- Y Ekseni: Sayısal veri alanlarını seçin (örn: "sales", "profit")
- Renkler: Her seri için özel renk seçimi
- Başlık: Grafik başlığını özelleştirin
- Sağ üstteki "İndir" butonuna tıklayın
- Grafik PNG formatında indirilir
JSON verileriniz şu formatta olmalıdır:
[
{
"category_field": "string_value",
"numeric_field1": 123,
"numeric_field2": 456,
"optional_field": "any_value"
}
]Örnek veri tipleri:
- String alanlar: X ekseni için kullanılır
- Numeric alanlar: Y ekseni serileri için kullanılır
- Boolean/null alanlar: Desteklenir ama grafik için kullanılmaz
- Kategorik verilerin karşılaştırılması
- Çoklu seri desteği
- Renk özelleştirme
- Zaman serisi verileri
- Trend analizi
- Çoklu hat desteği
- Yüzdesel dağılım
- Tek seri kullanımı
- Otomatik etiketleme
- Kümülatif veri görünümü
- Çoklu alan desteği
- Dolgulu grafik
- İki değişken ilişkisi
- Korelasyon analizi
- Nokta bazlı görünüm
src/
├── app/
│ ├── page.tsx # Ana sayfa
│ ├── layout.tsx # Layout wrapper
│ └── globals.css # Global stiller
├── components/
│ ├── JsonInput.tsx # JSON giriş komponenti
│ ├── ChartConfigurator.tsx # Grafik ayarları
│ └── ChartDisplay.tsx # Grafik görüntüleme
└── types/
└── index.ts # TypeScript tip tanımları
ChartConfigtype'ına yeni türü ekleyinChartConfigurator.tsx'da seçenek olarak ekleyinChartDisplay.tsx'da render fonksiyonu yazın
- İlgili komponenti güncelleyin
- Tip tanımlarını güncelleyin
- State yönetimini ayarlayın
- Desktop: 3 sütunlu layout (JSON - Config - Chart)
- Tablet: Dikey stack layout
- Mobile: Optimize edilmiş tek sütun
Şu anda özel ortam değişkeni gerektirmez.
Next.js varsayılan konfigürasyonu kullanır.
- Fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature) - Commit edin (
git commit -m 'Add amazing feature') - Push edin (
git push origin feature/amazing-feature) - Pull Request açın
Bu proje MIT lisansı altında lisanslanmıştır.
- Recharts - Güçlü grafik kütüphanesi
- Tailwind CSS - Utility-first CSS framework
- Next.js - React production framework