Patilerce

Patilerce, kedi ve köpek sahiplendirme için oluşturulmuş bir web sitesidir. Kullanıcılar, kaydolup e-posta adreslerini onayladıktan sonra şunları yapabilirler:

Tüm yeni sahiplendirme ilanları ve Soru-Cevap gönderileri, sitede yayınlanmadan önce bir yönetici tarafından onaylanmalıdır.

TEKNOLOJİ

  • javascript
  • next.js
  • css modülleri
  • mongoDB
  • next-auth
  • aws s3
  • jest
  • react testing library
Patilerce Anasayfa

Proje Amacı

Patilerce, sahiplendirme sürecini daha kolay ve erişilebilir hale getirmek için yapıldı. Ana hedef, kullanıcıların sahiplendirme ilanlarını kolayca paylaşabileceği ve bulabileceği bir platform sağlamaktı. Ayrıca, bir Soru-Cevap bölümü ve özel mesajlaşma gibi özellikler ekleyerek topluluk hissi yaratmak istedim. Yönetici onayı ile, yalnızca kaliteli ve güvenli ilanların siteye yayınlanmasını sagladım.

Patilerce Anasayfa

Teknoloji Yığını

Next.js’i full-stack özellikleri olduğu için tercih ettim. Dizayn için hiçbir kütüphane veya hazır UI kullanmadım. Bunun yerine her şeyi sadece CSS ile tasarladım ve CSS modüllerini kullanarak benzersız className yazma sorununu çözmüş oldum.

Patilerce’nin veritabanı çok karmaşık olmadığı için, kayıtlar arasında ilişki gerektirmediğinden MongoDB kullanmaya karar verdim.

Kimlik doğrulama için Next-Auth paketini JWT ile kullandım, şifre güvenliğini sağlamak için bcryptjs kullandım.

Web sitesi çok sayıda görsel içerdiği için AWS S3’ü entegre ettim. Next.js’in yerleşik resim optimizasyonu sayesinde, görseller daha verimli bir şekilde yükleniyor.

Patilerce Giriş SayfasıPatilerce Finans GrafikPatilerce Gelir KayıtlarıPatilerce Çalışanlar Listesi

Zorluklar

Patilerce, benim ilk büyük projem olduğundan, birçok zorlukla karşılaştım. Bunlardan en büyüğü, kimlik doğrulamanın güvenli olmasını sağlamaktı. Next-Auth ile JWT ve bcryptjs kullanmak çok zor değildi, ancak kullanıcı verilerini ve şifrelerini güvende tutmak için dikkat gerekiyordu. Token'ları nasıl yöneteceğimi ve şifreleri nasıl güvenli bir şekilde saklayacağımı öğrendim.

Bir diğer zorluk, siteyi hazır UI bileşenleri veya kütüphaneleri kullanmadan yapmaktı. Her şeyi sıfırdan yapmak, haliyle daha fazla zaman aldı, ancak tasarım üzerinde tam kontrol sahibi oldum ve CSS hakkında çok şey öğrenmiştim.

Son olarak, veritabanı yapısının düzgün çalışmasını sağlamakta zorlandım, özellikle MongoDB’yi seçtiğim için. MongoDB esnek bir yapıya sahip, ancak veritabanını dikkatlice planlamam gerekti, böylece site büyüdükçe veritabanı da büyüyebilecekti.

Patilerce Anasayfa

Öğrendiklerim

Patilerce üzerinde çalışmak bana çok şey öğretti. Özellikle tasarımı sıfırdan yaparken iyi planlamanın önemini öğrendim. Özel bir tasarım yaratmanın ne kadar zaman ve çaba gerektirdiğini fark ettim ve CSS’i derinlemesine öğrenmenin ne kadar önemli olduğunu anladım.

Ayrıca kimlik doğrulama ve şifre güvenliğinin nasıl doğru bir şekilde yapılacağını öğrendim. Kullanıcı verilerini dikkatlice yönetmek ve güvenliği sağlamak için doğru yöntemleri kullanmanın önemini gördüm.

Son olarak, veritabanı yapısının baştan doğru planlanmasının önemini öğrendim. MongoDB gibi esnek bir sistemde bile, iyi tasarlanmış bir şema, projenin sorunsuz bir şekilde büyümesini sağlamak için çok önemli.

diğer projeler.

workwise screenshot

workwise

Rol tabanlı kullanıcı erişimi, grafikler ve daha fazlasını içeren bir şirket yönetim sistemi.

nuvola coffee shop screenshot

nuvola coffee shop

Bir kahve kavurma şirketi için Next.js ile geliştirilen e-ticaret uygulaması.