[PHP] Açık Kaynak Site / Apartman Yönetim Sistemi (Aidat, Gider, Rapor, Online Ödeme, Çoklu Site)

  • Konuyu açan Konuyu açan Asport
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 0
  • Gösterim Gösterim 54

Asport

Co-Admin
Co-Admin
Sayman
Etkinlik Yöneticisi
Platin Üye
Geliştirici
Usta Üye
Mesaj
565
Çözümler
10
Beğeni
797
Puan
1.216
Ticaret Puanı
3
# Site / Apartman Yönetim Sistemi

Php 8 ve MySQL/mariadb ile geliştirilmiş, kapsamlı bir apartman/site yönetim panelidir. Aidat, gider, rapor, online ödeme, dekont, makbuz, duyuru, talep, sms, otomatik tahakkuk, çoklu site, kira takibi, karar defteri, demirbaş ve bütçe modüllerini içerir.

## Gereksinimler

- Php 8. 1 veya üzeri ('pdo_MySQL', 'mbstring', 'openssl', 'curl' eklentileri)
- MySQL 5. 7+ veya mariadb 10+
- Web sunucusu (apache, nginx veya Php'nin yerleşik sunucusu)

## Veritabanı Bilgileri
Uygulama varsayılan olarak şu bilgilerle bağlanır ('config/database.php'):

Kod:
Genişlet Daralt Kopyala
Veritabanı : apartman.
Kullanıcı : apartman1.
Şifre : apartman123.
Sunucu : 127.0.0.1:3306

Bu bilgileri 'config/database.php' dosyasından değiştirebilir veya ortam değişkenleriyle ('db_host', 'db_name', 'db_user', 'db_pass', 'db_port') geçersiz kılabilirsiniz.

Not: Tablolar uygulama ilk çalıştığında otomatik oluşur. `database/schema.sql` dosyasını içe aktarmak **opsiyoneldir** (phpMyAdmin'den hazır kurmak isteyenler için).

---

## Kurulum — Windows (XAMPP)
1. **xampp kurun** ( ). Kurulumda apache + MySQL seçili olsun.
2. Xampp control panel'den **apache** ve **MySQL** servislerini başlatın (start).
3. Proje klasörünü Xampp'ın 'htdocs' dizinine kopyalayın:

C:\xampp\htdocs\apartman

4. Tarayıcıdan **phpmyadmin**'i açın:
5. Soldaki menüden **yeni / new** deyip veritabanı oluşturun:

- Ad: `apartman`
- Karşılaştırma: `utf8mb4_unicode_ci`

6. **kullanıcı hesapları / user accounts** sekmesinden yeni kullanıcı ekleyin:

- Kullanıcı adı: `apartman1`
- Şifre: `apartman123`
- "apartman veritabanında tüm yetkiler" işaretli.

7. (opsiyonel) 'database/schema.sql' dosyasını phpmyadmin > **içe aktar / ımport** ile yükleyin. Yüklemeseniz de tablolar otomatik oluşur.
8. Tarayıcıdan açın:


> Xampp'ta proje kök dizini 'public' klasörüdür. Url'in sonuna '/public' eklemeyi unutmayın. Daha temiz bir adres için 'htdocs' yerine bir sanal host tanımlayıp kökü 'apartman/public' yapabilirsiniz.
---
## Kurulum — linux (sunucu / vds)
### 1. Paketleri kurun.
Debian / ubuntu:

sudo apt update.
sudo apt install -y php php-mysql php-mbstring php-curl mariadb-server apache2.

Arch:

sudo pacman -S php php-apache mariadb apache.

### 2. Mariadb'yi başlatın ve veritabanını oluşturun.

sudo systemctl enable --now mariadb.

sudo mariadb -u root -e "
CREATE DATABASE IF NOT EXISTS apartman CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER IF NOT EXISTS 'apartman1'@'localhost' IDENTIFIED BY 'apartman123';
GRANT ALL PRIVILEGES ON apartman.* TO 'apartman1'@'localhost';
FLUSH PRIVILEGES;"

### 3. (opsiyonel) şemayı içe aktarın.

mysql -u apartman1 -papartman123 apartman < database/schema.sql

### 4. Çalıştırın.
Hızlı test için Php'nin yerleşik sunucusu:

cd apartman.
php -S 0.0.0.0:8000 -t public.

Tarayıcı: Http://sunucu_ıp: 8000.
### 5. Apache ile kalıcı kurulum (vds)
'/Etc/apache2/sites-available/apartman.conf' (debian/ubuntu) veya arch'ta 'httpd-vhosts.conf':

apache
<VirtualHost *:80>
ServerName apartman.example.com
DocumentRoot /var/www/apartman/public

<Directory /var/www/apartman/public>
AllowOverride All.
Require all granted.
</Directory>

ErrorLog ${APACHE_LOG_DIR}/apartman-error.log
CustomLog ${APACHE_LOG_DIR}/apartman-access.log combined.
</VirtualHost>

Etkinleştirin:

sudo a2ensite apartman.
sudo systemctl reload apache2.

'Data/' ve 'data/uploads/' klasörlerinin web sunucusu kullanıcısı tarafından yazılabilir olması gerekir:

sudo chown -R www-data:www-data /var/www/apartman/data

### Nginx + php-fpm kullanıyorsanız.

nginx
server {
listen 80;
server_name apartman.example.com;
root /var/www/apartman/public;
index index.php;

location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

---
## İlk giriş.


İlk girişten sonra **profilim** bölümünden şifrenizi değiştirin. İlk açılışta site kurulum ekranına yönlendirilirsiniz; blok / kat / daire sayısını girince daireler otomatik oluşur. Hızlı denemek için kurulum ekranındaki **demo verisi yükle** düğmesini kullanabilirsiniz.
## Modüller (isteğe bağlı)
Ayarlar > modüller bölümünden açılıp kapatılır. Kapalı modüller menüde görünmez.
| Modül | açıklama |
|-------|----------|
| Otomatik tahakkuk | her ay aidatları otomatik oluşturur (cron veya giriş tetikli) |
| Sms bildirimi | netgsm / iletimerkezi ile ihtar ve duyuru sms'i |
| Gider faturası | giderlere fatura/fiş (görsel/pdf) ekleme |
| Çoklu site | tek panelden birden çok siteyi ayrı verilerle yönetme |
| Kira takibi | kira sözleşmesi, aylık kira tahakkuku ve tahsilatı |
| Karar defteri | toplantı tutanakları, yazdırılabilir karar çıktısı |
| Demirbaş / depo | envanter ve demirbaş yönetimi |
| Bütçe planlama | yıllık bütçe hedefi ve gerçekleşen karşılaştırması |
Online ödeme (paytr) ve sms için ilgili sağlayıcı bilgileri ayarlar bölümünden girilir.
## Sabit modüller.
Aidat, gider, aylık rapor, duyuru, talep/şikayet, dekont yükleme/onay, tahsilat makbuzu, e-posta (smtp) bildirimleri, e-posta kayıtları, işlem geçmişi ve profil yönetimi her zaman aktiftir.
## Güvenlik notları.
- Üretimde 'config/database.php' içindeki şifreyi mutlaka değiştirin.
- Varsayılan admin şifresini ilk girişte değiştirin.
- Tüm formlar csrf korumalıdır; şifreler 'password_hash' ile saklanır.
- Yüklenen dosyalar (dekont/fatura) mıme doğrulamasından geçer ve yalnızca yetkili kullanıcıya sunulur.
- Https kullanın (let's encrypt / certbot önerilir).
## Veri yedekleme.

mysqldump -u apartman1 -papartman123 apartman > yedek.sql

Yüklenen dosyalar için 'data/uploads/' klasörünü de yedekleyin.



Premiumlara Özel Link
Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.

 
Son düzenleme:
Geri
Üst