Faz 6 – Final Projeleri (Devam Ediyor)
Proje 1: Kimlik Doğrulama ile Tam CRUD
- Amaç: Güvenli kimlik doğrulama ve test ile sağlam bir RESTful API oluşturma.
- Teknolojiler: Spring Boot, Spring Data JPA (PostgreSQL), Spring Security (JWT), JUnit 5, Testcontainers.
- Özellikler: Varlıklar için CRUD (ör. görevler, kullanıcılar), rollerle kimlik doğrulama (ADMIN, USER), Swagger ile dokümantasyon.
- Opsiyonel: Görevleri görüntülemek/yönetmek için Thymeleaf arayüzü ekleme.
- Örnek: Projeleri yönetmek için API (varlıklar:
Project
, Task
, User
) korumalı endpoint’lerle.
Proje 2: Dosya Yükleme
- Amaç: Proje 1’deki API’ye dosya yükleme işlevselliği ekleme.
- Teknolojiler: Spring Boot (
MultipartFile
), Amazon S3 veya yerel depolama, dosya doğrulama.
- Özellikler: Görevlerle ilişkilendirilmiş resim/belge yükleme, tip/boyut doğrulama.
- Örnek: API’deki görevler için ek yükleme izni (ör. PDF, PNG).
Proje 3: Bulut Dağıtımı
- Amaç: API’yi CI/CD ile bir bulut platformuna dağıtma.
- Teknolojiler: Railway, Heroku veya AWS (Elastic Beanstalk), GitHub Actions, Docker.
- Özellikler: JAR/Docker olarak paketleme, çevre değişkenlerini yapılandırma, dağıtımı otomatikleştirme.
- Opsiyonel: Sık sorguları optimize etmek için Redis ile önbellek uygulama.
- Örnek: Proje API’sini PostgreSQL ve CI/CD ile Railway’e dağıtma.
Proje 4: Mikroservisler
- Amaç: Proje 1’deki API’yi orkestre edilmiş mikroservislere ayırma.
- Teknolojiler: Spring Cloud (Eureka, Gateway), Docker Compose, iletişim için REST.
- Özellikler:
Tasks
ve Users
için mikroservisler, servis keşfi ile.
- Opsiyonel: Mikroservisler arası asenkron iletişim için RabbitMQ kullanma.
- Örnek: Görev ve kullanıcı mantığını iki servise ayırma, Docker ile orkestrasyon.
Proje 5: Harici API Entegrasyonu
- Amaç: İşlevselliği artırmak için harici bir API tüketme.
- Teknolojiler: Spring RestTemplate veya WebClient, API kimlik doğrulaması (ör. OAuth2).
- Özellikler: Genel bir API ile entegrasyon (ör. SendGrid ile e-posta bildirimleri gönderme).
- Opsiyonel: Görevleri/kullanıcıları almak ve meta verileri MongoDB’de saklamak için GraphQL sorgusu ekleme.
- Örnek: Görev tamamlanması için e-posta bildirimleri ekleme.
Portföy En İyi Uygulamaları
- Git: Özellik başına commit (ör.
feature/crud
, feature/upload
), açık dallar.
- Dokümantasyon: Açıklama, kurulum, endpoint’ler, dağıtım ve ekran görüntüleri içeren README.
- Yayın: GitHub’da açık kaynak lisansı ile barındırma (ör. MIT).
Kaynaklar