Yazılım geliştirme işi süre ve maliyet tahminleri dahilinde kalite unsurları da gözetilerek tamamlanması zor bir süreçtir. Yazılım geliştirme sorunlarına yönelik çözümlerin bir yazılımcı tarafından üretilmesinin ve üretilen çözümlerin kalıcılığının sağlanmasının çok önemli olduğunu düşünmekteyim. Zira mevcut sorun veya eksiklik daha önce kimsenin karşılaşmadığı size özel bir durum olabilir, kaynaklarda bulunmayabilir, bulunsa da yeterli gelmeyebilir. Bu durumda kendi çözüm yollarınızı üretmeniz zorunlu olacaktır. Aşağıda sunmuş olduğum videolarda şahsımca geliştirilen çözümleri görebilirsiniz.

<AnimateOn... />

CSS ile animasyonlarınızı hazırlayabilirsiniz ancak css ile animasyon hazırlamak bazen çok zaman alıcı ve yönetilmesi zor olabilmektedir. Bu ihtiyaçlar doğrultusunda sık kullanılan fadeIn, slide, zoom, sıralı animasyon gibi efektleri çok daha hızlı ve pratik bir şekilde oluşturabilmek için örneklerini videoda görebileceğiniz kendi animasyon componentlerimi oluşturdum.

<Window />

Herhangi bir elementi pencereye çevirmek için oluşturduğum bir react componentidir. Bu sayede elementinize açma/kapama, min/max, timer gibi özellikler ekleyebilir. Elementinizi artık bir modal penceresi ya da toast olarak kullanabilirsiniz.

<HandleResponse />

Layout alanlarının bir masaüstü program arayüzü gibi yönetebilmesi ve aynı zamanda elementlere responsive özellikleri katması için yazmış olduğum bir componentdir. Bu component ile layout üzerinde açılır kapanır alanlar oluşturabilir, açılıp kapanma sırasında absolute/relative değişimi sağlayabilir ve bu alanlara dikey eksende dahi reponsive özellikler katabilirsiniz. Hatta linklerden oluşan listeleri kolaylıkla menüye çevirebilirsiniz.

<AdvancedPageLayout />

Sayfa üzerinde kolayca alt, üst ve yan alanlar ekleyebilmek ve yönetebilmek amacıyla react için hazırlamış olduğum gelişmiş bir layout sistemidir. React router dom ile uyumlu çalışmaktadır. Böylelikle hangi sayfada sol alan olacak, hangi sayfada header ve footer olmayacak kolayca yönetebilirsiniz.

Clean Project

Projelerinizi yönetirken birçok problem ile karşılaşacaksınız. Ekibe dahil olan kişiler farklı ortamlar kullanabilir, birinde çalışan proje diğerinde çalışmayabilir, birinde olan eklentiler diğerinde olmayabilir ve anlaşmazlıklara yol açabilir, birinde hata veren bir durum diğerinde hata vermeyebilir, birinde 55. satırda olan kod diğerinde 60. satırda görülebilir ve iletişim zorlaşabilir, projeye yapılan commitler belli stanlartlar olmadan yapılmış olabilir, farklı ortamlarda farklı değişkenler tanımlamanız gerekebilir vb. Bütün bunları temiz bir proje yapısı ve sanallaştırma teknolojileri ile aşabilirsiniz. Bu nedenle projelerimde kullandığım yapıyı ihtiyaçlarım doğrultusunda kendim şekillendirdim. Projelerimde genelde feature-based bir mimari kullanmayı ve sanallaştırılmış bir ortamda çalışabilecek bir proje yapısı oluşturmayı tercih ediyorum. Ayrıca şu temel ayar dosyalarını da hazırlamış bulundum; devcontainer, Dockerfile, docker-compose, commitlintrc, env-cmdrc, eslintrc, gitignore, prettierrc, postcss.config, tailwind.config, tsconfig, vite.config, vs code tasks, husky. Tek yapmanız gereken VSCode'a projeyi container ile tekrar açmasını söylemek.

tasarım ve geliştirme Levent Güler

Levent Güler