Skip to content

Repository files navigation

Beykoz Üniversitesi E-Rehber

Kurum içi personel iletişim rehberi. Ad soyad, dahili numara veya e-posta ile anlık arama; yönetim panelinden personel, kampüs, birim ve footer ayarlarının yönetimi.

Özellikler

  • Herkese açık arama — Ad, dahili veya e-posta ile canlı arama (debounce)
  • Birim filtresi — Footer altındaki birim linkleriyle hızlı listeleme
  • Yönetim paneli — Personel, kampüs, birim, kullanıcı ve ayar yönetimi
  • CSV içe / dışa aktarma — Toplu personel yükleme ve yedekleme
  • Güvenlik — CSRF, rate limit, güvenli oturum, HSTS/CSP header'ları, PDO prepared statements

Gereksinimler

  • PHP 8.0+
  • MySQL 5.7+ veya MariaDB 10.3+
  • Apache veya Nginx (mod_rewrite gerekmez)
  • PHP eklentileri: pdo_mysql, mbstring

Kurulum

1. Depoyu klonlayın

git clone https://github.com/ardacetin/rehberbeykoz.git
cd rehberbeykoz

2. Yapılandırma

cp config.example.php config.php

config.php dosyasını düzenleyin veya ortam değişkenlerini tanımlayın:

Değişken Açıklama Varsayılan
APP_HTTPS HTTPS kullanılıyor mu (true/false) true
DB_HOST Veritabanı sunucusu 127.0.0.1
DB_NAME Veritabanı adı rehberbeykoz
DB_USER Veritabanı kullanıcısı
DB_PASS Veritabanı şifresi

config.php .gitignore içindedir; asla repoya eklemeyin.

3. Veritabanı

mysql -u root -p < schema.sql

4. İlk admin kullanıcısı

Varsayılan admin hesabı yoktur. CLI ile oluşturun:

php scripts/create_admin.php admin GucluSifre123!

Şifre en az 12 karakter olmalıdır.

5. Web sunucusu

Geliştirme (PHP built-in server):

php -S localhost:8080 -t .

Tarayıcıda: http://localhost:8080

Üretim: Document root'u proje klasörüne yönlendirin. HTTPS kullanın (APP_HTTPS=true).

Kullanım

Sayfa URL Erişim
Ana rehber /index.php Herkese açık
Arama API /search.php?q=... Herkese açık (rate limit)
Giriş /login.php Yönetici
Yönetim /admin.php Oturum gerekli

CSV içe aktarma

  1. Yönetim paneli → Personeller → İçe Aktar
  2. template.csv şablonunu indirin, doldurun (ayraç: ;, UTF-8)
  3. Dosyayı yükleyin (max 2 MB)

Sütunlar: Ad Soyad, İç Dahili, Dış Dahili, E-Posta, Kampüs ID, Birim ID

Proje yapısı

rehberbeykoz/
├── index.php           # Ana sayfa (public)
├── search.php          # JSON arama API
├── login.php           # Admin girişi
├── admin.php           # Yönetim paneli
├── import.php          # CSV içe aktarma
├── export.php          # CSV dışa aktarma
├── logout.php
├── db.php              # Veritabanı bağlantısı
├── schema.sql          # Veritabanı şeması
├── config.example.php  # Yapılandırma şablonu
├── includes/
│   ├── bootstrap.php   # Oturum + header + DB
│   └── security.php    # CSRF, rate limit, auth
├── scripts/
│   └── create_admin.php
├── assets/
│   ├── css/style.css
│   └── js/app.js
└── template.csv        # CSV şablonu

Güvenlik notları

  • Üretimde mutlaka HTTPS kullanın.
  • config.php ve gerçek DB şifrelerini repoya commit etmeyin.
  • İlk kurulumdan sonra güçlü bir admin şifresi belirleyin.
  • Düzenli yedek için Dışa Aktar (CSV) kullanın.

Lisans

Beykoz Üniversitesi — Bilgi İşlem Direktörlüğü. Kurum içi kullanım için geliştirilmiştir.

About

Beykoz Üniversitesi Telefon Rehberi

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages