💫 Galaktik Bir Hayalin Kodla Buluşması: “Liru Galaxy”
Kodlarla yıldızları birleştirsem nasıl olurdu?
İşte bu soruyla başlayan maceram “Liru Galaxy”'ye dönüştü 🌌
(Liru Galaxy ilk versiyonuyla yeni fırlatıldı. Güncellemeler yolda.)
Liru Galaxy'i keşfetmek için Liru Galaxy'e tıklayabilirsin!
Bu proje benim için bir oyun değil sadece.
- 🧠 Hayal gücümün dijitale dönüşmüş hali,
- 🎨 Renkli bir karakter,
- 🏆 Biraz da başarı ve motivasyon sistemi.
Astronot Liru ile birlikte farklı galaksilere adım atıyoruz.
Sana özel bir karakter oluşturabilir, yıldız toplayabilir ve başarılar kazanabilirsin.
Üstelik tüm bu yolculuk;
HTML + CSS + JavaScript ile tamamen benim tarafımdan kodlandı. 💻
🔧 Projeyi teknik olarak nasıl geliştirdim?
🧱 1. Proje Yapısı
Projeyi statik bir web uygulaması olarak hazırladım:
- index.html -> Ana sayfa ve tüm bileşenlerin HTML yapısı
- style.css -> Tüm görsel tasarım ve animasyonların CSS dosyası
- script.js -> Tüm etkileşim, animasyon ve mantıksal işlemler
Bu yapıyı, ileri düzey bir front-end framework kullanmadan, sadece temel web teknolojileri ile hazırladım.
🎨 2. HTML ile Sayfa ve Komponent Yapısı
Sayfa içeriği section yapısıyla bölümlere ayrıldı (örneğin: home,
story, customize, achievements).
Her bölümde özel UI bileşenleri bulunuyor:
- Butonlar
- Karakter kartı
- Başarı kutuları
- Hikaye adımları
💅 3. CSS ile Tasarım ve Animasyonlar
- CSS değişkenleri tanımladım (renk paleti, gölgeler, temalar).
- @media query ile responsive (mobil/tablet/masaüstü) uyumluluğunu sağladım.
-
@keyframes ile animasyonları manuel kodladım:
- Yıldız parıltısı (twinkle)
- Karakterin yürüme/zıplama hareketleri
- Kapı açılma efekti
- Konfeti düşüşü
- Kullanıdığım fontlar: Orbitron (başlık), Space Grotesk (içerik).
🧠 4. JavaScript ile Mantık ve Etkileşim
👤 Karakter Özelleştirme:
- Butonlarla saç/göz/kıyafet seçimi
data-*attributeleri üzerinden yapılır. - Seçimler
localStorageile kaydedilir, her yüklemede uygulanır. - Renk geçişleri
background: linear-gradient(...)ile sağlanır.
🚀 Galaksi Yolculuğu Animasyonu:
- “Başla” butonuna tıklanınca karakter koşmaya başlar. (
.running) - Kapı animasyonu başlar. (
.opening) - Karakter küçülerek geçer.
- Konfeti + Modal açılır →
setTimeout + classListile sıralı tetiklenir.
🏆 Başarı Sistemi:
-
localStorageile istatistikler tutulur:totalJourneys,starsCollected,planetsVisited - Belirli eşiklere ulaşıldığında başarılar açılır (örneğin 100 yıldız = “Star Collector”).
- HTML'deki kart bileşenleri üzerinden
class="earned"ile görsel gösterim sağlanır.
📢 Sosyal Paylaşım:
- LinkedIn için dinamik URL ile
window.open(), - “Link Kopyala” için
clipboard APIkullandım.
- Rastgele renk, boyut ve animasyon değerleriyle yıldızlar ürettim.
-
Math.random()kullanılarak top/left/size gibi parametreler belirledim.
📱 Cihaz Tipi Algılama:
-
getDeviceType()fonksiyonu ile cihaz mobil/tablet/desktop olarak sınıflandırdım. - Yıldız sayısını, animasyon süresini, konfeti miktarını bu tipe göre optimize ettim.
🧪 Hata Yakalama & Performans İzleme:
-
window.addEventListener('error')ile JS hataları dinleniyor. -
performance.timingile sayfa yüklenme süreleri ölçülüyor.
🧠 5. Sonuç:
Liru Galaxy, sadece bir oyun değil;
- Kodlama becerilerimi,
- Kullanıcı deneyimi tasarımını,
- Ve hayal gücümü birleştirdiğim bir vitrin projesidir :)
SİNYAL GÖNDER
Uzay boşluğunda kaybolma, not bırak!
Fikrin bir yıldız gibi parlıyorsa ya da sadece uzayın derinliklerinden bir sinyal göndermek istiyorsan, buradayım.