Skip to content

GrkmFdn/Business_Digital_Card

Repository files navigation

💼 Dijital Kartvizit Platformu (SaaS)

Laravel 13 & Filament v5 ile geliştirilmiş şık, çok dilli, yönetilebilir dijital kartvizit sistemi.

Laravel Filament PHP MySQL MIT License

ÖzelliklerKurulumTeknolojilerKullanım


✨ Özellikler

  • 📱 Mobil Öncelikli (Mobile-first) Tasarım — Tüm cihazlarda kusursuz görünüm.
  • 🌍 Çoklu Dil Desteği (TR / EN / DE) — Oturum (session) bazlı dil değişimi, temiz URL yapısı.
  • 🎨 Dinamik Marka Yönetimi — Yönetici panelinden şirketin ana ve vurgu renklerini (hex code) değiştirerek tüm arayüzü anında özelleştirin.
  • 🖼️ Logo ve Banner Yönetimi — Kurumsal logo ve kartvizitlerin üst kapağında yer alacak "Banner" görselini anında değiştirin.
  • 👤 Çalışan Profilleri — Her dile özel meslek unvanı (job title) ve departman girebilme.
  • 📞 Akıllı İletişim Kartları — Tek tıkla arama (tap-to-call), e-posta gönderme, WhatsApp sohbeti başlatma ve Google Haritalar yönlendirmesi.
  • 🔗 Sosyal Medya Yönetimi — LinkedIn, Instagram, GitHub, X (Twitter) gibi profiller için ikonlu yönlendirmeler.
  • 🖨️ Baskıya Hazır PDF Çıktısı — Sadece iletişim verilerini içeren temiz @media print mizanpajı.
  • 📋 URL Kopyalama — Gelişmiş "Clipboard API" ile kartviziti tek butonla kopyalayın.
  • 🔒 Filament v5 Admin Paneli — Verileri kolayca eklemek ve sürükle-bırak ile sıralamak için güçlü yönetim paneli (/admin).
  • 🎯 vCard (.vcf) Dışa Aktarma — Ziyaretçilerin çalışanı telefon rehberine bir butona basarak anında kaydetmesini sağlar.

🛠️ Teknolojiler

Katman Teknoloji
Backend Laravel 13 (PHP 8.2+)
Yönetici Paneli Filament v5
Veritabanı MySQL 8.0+
Frontend Blade Templates, Vanilla CSS, Vanilla JS
İkonlar Font Awesome 6.5
Fontlar Google Fonts — Inter

📦 Kurulum

Gereksinimler

  • PHP 8.2+ (ext-pdo, ext-mbstring, ext-gd, ext-curl vb. aktif olmalı)
  • Composer
  • MySQL 8.0+
  • Node.js & npm (Opsiyonel, sadece varlık derlemesi için)

Step-by-step

1. Projeyi klonlayın

git clone https://github.com/GrkmFdn/Business_Digital_Card.git
cd Business_Digital_Card

2. Bağımlılıkları yükleyin

composer install

3. .env dosyasını oluşturun ve şifreleme anahtarını üretin

cp .env.example .env
php artisan key:generate

.env dosyanızı açıp kendi MySQL veritabanı bilgilerinizi girin:

DB_DATABASE=veritabani_adiniz
DB_USERNAME=root
DB_PASSWORD=sifreniz

4. Veritabanını oluşturun ve yapılandırın

php artisan migrate

5. Medya dosyaları için sembolik bağlantıyı (symlink) oluşturun

php artisan storage:link

6. Yönetici (Admin) hesabınızı oluşturun

php artisan make:filament-user

7. Yerel sunucuyu çalıştırın

php artisan serve

Yerel sunucu başladıktan sonra http://localhost/admin adresinden giriş yapabilirsiniz. 🎉


⚙️ Kullanım & Yapılandırma

Admin paneline giriş yaptıktan sonra, "Şirket Ayarları" (Company Settings) menüsünden şu işlemleri yapın:

  • Şirket Adınızı belirleyin.
  • Transparan arka planlı bir Logo yükleyin.
  • Kartvizitin üst kısmında (header) yer alacak bir Banner Görseli yükleyin.
  • Birincil (Primary) ve Aksan (Accent) kurumsal renk kodlarınızı paletten seçin.
  • Daha sonra Çalışanlar (Employees) menüsünden yeni çalışan profilleri oluşturup iletişim/sosyal medya bağlantılarını girebilirsiniz.

🗂️ Temel Proje Yapısı

dijital-kartvizit/
├── app/
│   ├── Filament/                 # Admin panel ayarları ve CRUD Formları
│   │   ├── Pages/CompanySettings.php
│   │   └── Resources/Employees/
│   ├── Http/
│   │   ├── Controllers/CardController.php    # Kartvizit logic'leri ve vCard indirmesi
│   │   └── Middleware/SetLocaleMiddleware.php# Dil geçiş kontrolü
│   └── Models/
│       ├── CompanySetting.php    # Dinamik şirket renkleri vb.
│       ├── Employee.php          # Çalışan kaydı ve relasyonlar
│       └── ContactInfo.php       # Telefon, E-posta vs.
└── resources/views/card/
    └── show.blade.php            # Ziyaretçi kartvizit görünümü (UI)

🌐 URL Rotası (Routes)

URL Açıklama
/ Müşteri doğrudan siteye girerse admin paneline yönlendirir
/admin Filament Admin Paneli Ana Sayfası
/kartvizit/{slug} Herkese açık Kartvizit Profil Sayfası
/kartvizit/{slug}/vcard .vcf formatında vCard indirme endpointi
/api/set-locale (POST) Oturum (session) bazlı dil belirleme rotası

🔒 Güvenlik Notları

  • .env gizlidir ve .gitignore içindedir; sunucunuza push etmeyiniz.
  • Canlı ortama alacağınız zaman .env dosyasında APP_DEBUG=false ve APP_ENV=production yapmayı unutmayın.
  • Yüklenen profil resimleri ve şirket logoları storage/app/public/ klasöründe tutulmaktadır.

📄 Lisans

Bu proje, açık kaynaklı olup MIT Lisansı kapsamında ücretsiz kullanılabilir.