Kişilerin harcamalarını girerek kimin kime ne kadar para vermesi gerektiğini hesaplayan modern web uygulaması.
Bu uygulama, grup harcamalarını adil bir şekilde bölüştürmek için geliştirilmiştir. Kullanıcılar:
- Kişi ekleyebilir (ad, IBAN, harcama miktarı)
- IBAN'ları kolayca kopyalayabilir
- Otomatik hesaplama yapabilir
- Kimin kime ne kadar para vermesi gerektiğini görebilir
- Kişi ekleme (ad, IBAN, harcama miktarı)
- Kişi silme
- IBAN kopyalama özelliği
- Kişi listesi görüntüleme
- Frontend'de çalışan gelişmiş algoritma
- Minimum transfer sayısı ile optimal çözüm
- Otomatik ortalama hesaplama
- Gerçek zamanlı sonuçlar
- Modern ve responsive tasarım
- Smooth animasyonlar (Framer Motion)
- Türkçe arayüz
- Kullanıcı dostu deneyim
- Toplam harcama
- Kişi başı ortalama
- Transfer listesi
- Görsel transfer yönlendirmeleri
- Next.js 15 - React framework
- HeroUI v2 - Modern UI bileşenleri
- Tailwind CSS - CSS framework
- TypeScript - Tip güvenliği
- Framer Motion - Animasyonlar
- React - UI kütüphanesi
- Node.js 18+
- npm, yarn, pnpm veya bun
- Projeyi klonlayın:
git clone <repository-url>
cd spend_calculator
- Bağımlılıkları yükleyin:
npm install
# veya
yarn install
# veya
pnpm install
- Geliştirme sunucusunu başlatın:
npm run dev
# veya
yarn dev
# veya
pnpm dev
- Tarayıcınızda http://localhost:3000 adresini açın.
-
Kişi Ekleme: Sol taraftaki formu kullanarak kişi ekleyin
- Ad soyad girin
- IBAN bilgisini ekleyin
- Harcama miktarını girin
-
Hesaplama: En az 2 kişi ekledikten sonra "Hesapla" butonuna basın
-
Sonuçları Görüntüleme: Sağ tarafta hesaplama sonuçları görüntülenecek
-
IBAN Kopyalama: Kişi listesindeki 📋 butonuna tıklayarak IBAN'ı kopyalayın
spend_calculator/
├── app/ # Next.js app router
│ ├── page.tsx # Ana sayfa
│ ├── layout.tsx # Layout bileşeni
│ └── providers.tsx # Context providers
├── components/ # React bileşenleri
│ ├── PersonForm.tsx # Kişi ekleme formu
│ ├── PersonList.tsx # Kişi listesi
│ └── CalculationResults.tsx # Hesaplama sonuçları
├── utils/ # Utility fonksiyonları
│ └── expenseCalculator.ts # Hesaplama algoritması
├── types/ # TypeScript tip tanımları
│ └── index.ts # Proje tipleri
└── styles/ # CSS stilleri
└── globals.css # Global stiller
Uygulama, grup harcamalarını adil bir şekilde bölüştürmek için gelişmiş bir algoritma kullanır:
- Toplam Harcama Hesaplama: Tüm kişilerin harcamalarının toplamı
- Ortalama Hesaplama: Toplam harcama / kişi sayısı
- Bakiye Hesaplama: Her kişinin harcaması - ortalama
- Transfer Optimizasyonu: Minimum transfer sayısı ile optimal çözüm
- ✅ Minimum transfer sayısı
- ✅ Adil bölüştürme
- ✅ Gerçek zamanlı hesaplama
- ✅ Frontend'de çalışır (backend gerektirmez)
Uygulama Framer Motion kullanarak smooth animasyonlar içerir:
- Form giriş animasyonları
- Kişi listesi slide-in/out efektleri
- Hesaplama sonuçları staggered animasyonları
- Buton hover ve tap efektleri
- ✅ Mobil uyumlu
- ✅ Tablet uyumlu
- ✅ Desktop uyumlu
- ✅ Modern UI/UX
- Bu repository'yi fork edin
- Feature branch oluşturun (
git checkout -b feature/amazing-feature
) - Değişikliklerinizi commit edin (
git commit -m 'Add amazing feature'
) - Branch'inizi push edin (
git push origin feature/amazing-feature
) - Pull Request oluşturun
Bu proje MIT lisansı altında lisanslanmıştır.
Bu proje, grup harcamalarını kolayca hesaplamak için geliştirilmiştir. Herhangi bir sorunuz varsa issue açabilirsiniz.