Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
- [Simple, fast routing engine](https://laravel.com/docs/routing).
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.
Laravel is accessible, powerful, and provides tools required for large, robust applications.
## 🚀 Hızlı Başlangıç (Kurulum)
## Learning Laravel
Projeyi yerel ortamınızda veya sunucunuzda çalıştırmak için aşağıdaki adımları izleyin:
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
You may also try the [Laravel Bootcamp](https://bootcamp.laravel.com), where you will be guided through building a modern Laravel application from scratch.
### 2. Yapılandırma Dosyasını Hazırlayın
`.env.example` dosyasını`.env` olarak kopyalayın ve gerekli düzenlemeleri yapın:
```bash
cp .env.example .env
```
> **Önemli:** Docker içerisinde çalışırken `DB_HOST=db` ve `DB_PORT=3306` (docker iç ağı için) olarak ayarlanmalıdır. Dışarıdan erişim için Docker 3308 portunu kullanmaktadır.
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains thousands of video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
### 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:
```bash
chmod +x restart.sh
./restart.sh
```
## Laravel Sponsors
### 4. Uygulamaya Erişin
Servisler başarıyla başlatıldıktan sonra tarayıcınızdan şu adrese gidebilirsiniz:
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the [Laravel Partners program](https://partners.laravel.com).
---
### Premium Partners
## 🛠️ Nasıl Çalışır? (Mimari)
- **[Vehikl](https://vehikl.com/)**
- **[Tighten Co.](https://tighten.co)**
- **[WebReinvent](https://webreinvent.com/)**
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
Proje, modern konteynerleştirme standartlarına uygun olarak tasarlanmıştır:
## Contributing
### Servis Yapısı
- **app:** PHP 8.2-FPM üzerinde koşan Laravel uygulamasıdır. `dockerfile` iç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_data` volume'ü içerisinde kalıcı olarak saklanır.
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
### 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.
## Code of Conduct
### API Dokümantasyonu
Proje içerisinde **Scribe** kullanılmaktadır. `dockerfile` build aşamasında API dokümantasyonu otomatik olarak üretilir.
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
---
## Security Vulnerabilities
## 💻 Faydalı Komutlar
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
Aşağıdaki komutları konteyner içerisinde çalıştırmak için `docker exec` kullanabilirsiniz:
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.