2.8 KiB
Truncgil Finance Application
Bu proje, Truncgil bünyesinde geliştirilen Docker tabanlı bir Laravel finans uygulamasıdır. Proje; PHP 8.2-FPM, Nginx ve MySQL 8.0 servislerini içermektedir.
🚀 Hızlı Başlangıç (Kurulum)
Projeyi yerel ortamınızda veya sunucunuzda çalıştırmak için aşağıdaki adımları izleyin:
1. Depoyu Klonlayın
git clone https://git.truncgil.com/truncgit/finance.git
cd finance
2. Yapılandırma Dosyasını Hazırlayın
.env.example dosyasını .env olarak kopyalayın ve gerekli düzenlemeleri yapın:
cp .env.example .env
Önemli: Docker içerisinde çalışırken
DB_HOST=dbveDB_PORT=3306(docker iç ağı için) olarak ayarlanmalıdır. Dışarıdan erişim için Docker 3308 portunu kullanmaktadır.
3. Servisleri Başlatın
Proje içerisinde bulunan restart.sh betiği, port çakışmalarını kontrol eder, eski konteynerleri temizler ve sistemi Docker Compose ile ayağa kaldırır:
chmod +x restart.sh
./restart.sh
4. Uygulamaya Erişin
Servisler başarıyla başlatıldıktan sonra tarayıcınızdan şu adrese gidebilirsiniz:
- Uygulama: http://localhost:8089
- Veritabanı (Dış Erişim): localhost:3308
🛠️ Nasıl Çalışır? (Mimari)
Proje, modern konteynerleştirme standartlarına uygun olarak tasarlanmıştır:
Servis Yapısı
- app: PHP 8.2-FPM üzerinde koşan Laravel uygulamasıdır.
dockerfileiçerisinde gerekli PHP eklentileri (pdo_mysql, bcmath, gd vb.) ve otomatik görevler (cron) yapılandırılmıştır. - web: Nginx (alpine) sunucusudur. Gelen istekleri karşılar ve PHP servisine yönlendirir.
- db: MySQL 8.0 veritabanıdır. Veriler
db_datavolume'ü içerisinde kalıcı olarak saklanır.
Otomatik Görevler (Cron)
dockerfile içerisinde tanımlanan cron yapısı ile Laravel'in artisan run-all-fetchs komutu her dakika otomatik olarak çalıştırılır. Bu, finansal verilerin güncel tutulmasını sağlar.
API Dokümantasyonu
Proje içerisinde Scribe kullanılmaktadır. dockerfile build aşamasında API dokümantasyonu otomatik olarak üretilir.
💻 Faydalı Komutlar
Aşağıdaki komutları konteyner içerisinde çalıştırmak için docker exec kullanabilirsiniz:
Migrasyonları Çalıştır:
docker exec -it truncgil-finance-app php artisan migrate
Verileri Seed Et:
docker exec -it truncgil-finance-app php artisan db:seed
Logları Takip Et:
docker compose -p finance logs -f
📝 Notlar
- Uygulama anahtarı (
APP_KEY) ilk build sırasında otomatik olarak üretilir. - Port veya servis isimlerini değiştirmek isterseniz
docker-compose.ymlverestart.shdosyalarını güncelleyebilirsiniz.