Randevu Sistemi
PHP tabanlı profesyonel randevu yönetim sistemi. Psikolog, doktor ve benzeri meslek grupları için geliştirilmiş kapsamlı bir yönetim platformu.
Randevu Yönetim Sistemi
PHP tabanlı profesyonel randevu yönetim sistemi. Psikolog, doktor ve benzeri meslek grupları için geliştirilmiş kapsamlı bir yönetim platformu.
Özellikler
- 📅 Randevu Yönetimi: Kolay randevu oluşturma, düzenleme ve takip
- 📱 SMS Entegrasyonu: NetGSM üzerinden otomatik SMS bildirimleri
- 👥 Danışan Yönetimi: Kapsamlı müşteri profili ve geçmiş takibi
- 💰 Ödeme Takibi: Gelir ve gider yönetimi
- 📊 Raporlama: Detaylı istatistik ve analiz raporları
- 🌙 Tema Desteği: Açık/koyu mod seçenekleri
- 📱 Responsive Tasarım: Mobil uyumlu arayüz
- 🔒 Güvenlik: Session tabanlı kullanıcı yönetimi
Kurulum
Gereksinimler
- PHP 7.4 veya üzeri
- MySQL 5.7 veya üzeri
- Apache/Nginx web sunucusu
- cURL PHP uzantısı (SMS entegrasyonu için)
1. Projeyi İndirin
git clone https://github.com/bugraskl/randevu-sistemi.git
cd randevu-sistemi
2. Environment Dosyasını Hazırlayın
cp env.example env
env dosyasını düzenleyerek kendi bilgilerinizi girin:
# Database Configuration
DB_HOST=localhost
DB_NAME=randevu_db
DB_USERNAME=root
DB_PASSWORD=your_password
# NetGSM SMS Configuration
NETGSM_USERNAME=your_netgsm_username
NETGSM_PASSWORD=your_netgsm_password
NETGSM_HEADER=your_sender_name
# SMS Security Token
SMS_SECURITY_TOKEN=your_secure_random_token
3. Veritabanını Oluşturun
CREATE DATABASE randevu_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Veritabanı tablolarını oluşturmak için database/database.sql dosyasını import edin:
mysql -u username -p randevu_db < database/database.sql
4. Web Sunucusu Ayarları
Apache için .htaccess dosyası zaten mevcuttur. Nginx kullanıyorsanız aşağıdaki konfigürasyonu ekleyin:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
5. Dizin İzinleri
chmod 755 -R .
chmod 775 logs/
6. Giriş Bilgileri
Sistem varsayılan admin kullanıcısı ile gelir:
- E-posta: admin@gmail.com
- Şifre: 123456789
İlk girişten sonra bu bilgileri güvenlik açısından mutlaka değiştirin.
Konfigürasyon
Environment Değişkenleri
| Değişken | Açıklama | Varsayılan |
|---|---|---|
APP_ENV | Uygulama ortamı (development/production) | development |
APP_DEBUG | Debug modu (true/false) | true |
DB_HOST | Veritabanı sunucusu | localhost |
DB_NAME | Veritabanı adı | - |
DB_USERNAME | Veritabanı kullanıcı adı | - |
DB_PASSWORD | Veritabanı şifresi | - |
NETGSM_USERNAME | NetGSM kullanıcı adı | - |
NETGSM_PASSWORD | NetGSM şifresi | - |
NETGSM_HEADER | SMS gönderici adı | - |
SMS_ENABLED | SMS gönderimini aktif/pasif yapar | true |
SMS_DEBUG | SMS debug modu | false |
SMS_SECURITY_TOKEN | SMS endpoint güvenlik token'ı | - |
Production Ayarları
Production ortamında aşağıdaki değerleri güncelleyin:
APP_ENV=production
APP_DEBUG=false
SMS_DEBUG=false
SMS Entegrasyonu
Sistem NetGSM SMS servisi ile entegre çalışır. SMS özellikleri:
- Randevu oluşturulduğunda otomatik SMS
- Randevu hatırlatma SMS'leri
- Özelleştirilebilir SMS şablonları
Otomatik SMS Hatırlatma
Cron job ekleyerek günlük otomatik hatırlatma SMS'leri gönderebilirsiniz:
# Her gün saat 10:00'da çalışacak şekilde
0 10 * * * curl "https://yourdomain.com/process/send-reminder-sms.php?token=YOUR_SMS_SECURITY_TOKEN"
Kullanım
- Sisteme giriş yapın
- Danışanlar bölümünden yeni danışan ekleyin
- Randevular bölümünden randevu oluşturun
- Ödemeler bölümünden finansal takip yapın
- Raporlar bölümünden istatistikleri görüntüleyin
Güvenlik
- Tüm database sorguları prepared statement kullanır
- XSS koruması için output filtering
- CSRF koruması (form token'ları)
- Session tabanlı kimlik doğrulama
- Environment değişkenleri ile hassas bilgi yönetimi
Katkıda Bulunma
- 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 oluşturun
Lisans
Bu proje MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakın.
Destek
Herhangi bir sorun veya öneri için GitHub Issues kullanabilirsiniz.
⭐ Eğer bu proje işinize yaradıysa, yıldız vermeyi unutmayın!