🚀 Hoş Geldiniz, Geleceğin Frontend Geliştiricileri! 🚀
Bu projede, temel bir Twitter benzeri uygulama oluşturarak React, API entegrasyonu ve modern UI/UX prensipleri hakkında deneyim kazanacaksınız.
🔥 Gelin Başlayalım! 🔥
- En son bölümde verilen Figma tasarımını inceleyin.
- Yeni bir React projesi başlatın (vite veya cra kullanabilirsiniz).
- Gerekli kütüphaneleri (Axios, React Router vb.) yükleyin.
- Projede global state yönetimi için
useContext
veyaRedux
kullanmayı düşünebilirsiniz. Özellikle kullanıcı oturumu veya tweetlerin genel durumu için ideal olabilir.
1. Kimlik Doğrulama:
- Kayıt Ol, Giriş Yap ve Çıkış Yap işlevselliği oluşturun.
- İpucu: Kullanıcı oturumu ve kimlik bilgilerini global bir state'de saklamak için
useContext
veyaRedux
kullanmayı düşünebilirsiniz. ✨
2. Ana Tweet Akışı:
- API'den tweetleri getirip, ana sayfada listeleme yapın.
- Yeni bir tweet gönderme özelliği ekleyin.
3. Tweet İşlemleri:
- Tweet düzenleme, silme, retweetleme, beğenme/beğenmeme ve yorum yapma özelliklerini ekleyin.
Tasarımınızı oluşturmak için şu Figma linkini kullanabilirsiniz: Twitter Desktop Tasarımı. Bu tasarım, masaüstü sürümü için oturum açma, kayıt olma ve ana feed sayfalarını içeriyor. Tasarım ile çalışma hakkında daha fazla ipucu için bu dökümanın son kısmına bakabilirsiniz.
Hadi projemizi biraz daha detaylandıralım ve her adımın ne anlama geldiğine daha derinlemesine dalalım. Elinizde güzel bir Figma tasarımınız olduğuna göre, bunu kodla canlandırmaya ne dersiniz? 😊
- Yeni bir React uygulaması başlatın ve temel bağımlılıkları (axios, react-router-dom) kurun.
- Global state yönetimi için,
useContext
veyaRedux
'ı düşünün. Oturum bilgisi, tweetler, yorumlar gibi genel verileri saklamak için harika!
React Router'ı kullanarak, uygulamanızın temel navigasyonunu oluşturun.
Ana Rotalar:
- Ana Sayfa (/): Burada tweet akışınız yer alacak.
- Kayıt Ol (/signup): Yeni kullanıcıların kayıt olabileceği bir form.
- Giriş Yap (/signin): Kullanıcıların oturum açabileceği bir form.
💡 İpucu: useHistory
hook'unu kullanarak, başarılı bir giriş yaptıktan sonra kullanıcıyı ana sayfaya yönlendirebilirsiniz!
React'ın güzelliklerinden biri de bileşen tabanlı yapısıdır. İşte bazı temel bileşenler:
1. Navbar Bileşeni:
- Uygulamanın üst kısmında yer alacak, ana sayfaya geri dönme ve oturum işlemleri için bağlantılar içerecek.
2. TweetList Bileşeni:
- Ana sayfada yer alacak ve API'den alınan tweetleri listelemek için kullanılacak.
3. TweetCard Bileşeni:
- Her bir tweeti göstermek için kullanılacak. Retweet, beğenme ve yorum yapma işlevlerini içerecek.
💡 İpucu: TweetCard içerisindeki beğeni ve retweet işlevlerini yönetmek için, local state kullanabilirsiniz!
4. ReplyModal Bileşeni:
- Bir tweet'e yorum yapmak için kullanılacak popup/modal bileşeni. (Tasarımda yok)
💡 İpucu: Bu modalı açmak/kapatmak için state ve useEffect kullanabilirsiniz!
- Axios ile API istekleri yapın.
- Kullanıcının oturum bilgilerini, tweetleri ve yorumları global state'te yönetmeyi düşünün.
💡 İpucu: API cevaplarını yakalamak ve hataları yönetmek için promise then catch blokları kullanın.
Profil Kimlik Doğrulama:
Metod | URL | Tanım |
---|---|---|
POST | ${URL}/profile/register |
Kayıt Ol |
POST | ${URL}/profile/logout |
Çıkış Yap |
POST | ${URL}/profile/login |
Giriş Yap |
Tweet İşlemleri:
Metod | URL | Tanım |
---|---|---|
GET | ${URL}/tweet/ |
Bütün Tweetleri Getir |
GET | ${URL}/tweet/id |
Bir Tweet Getir |
POST | ${URL}/tweet |
Yeni Tweet |
PUT | ${URL}/tweet/id |
Tweet Düzenle |
DELETE | ${URL}/tweet/id |
Tweet Sil |
POST | ${URL}/tweet/like/id |
Beğen |
DELETE | ${URL}/tweet/like/id |
Beğenme |
POST | ${URL}/tweet/retweet/id |
Retweet |
POST | ${URL}/tweet/reply/id |
Yorum Yap |
DELETE | ${URL}/tweet/reply/id |
Yorum Sil |
API için projede ilerledikçe Mini Twitter X - Mock API Server adresindeki repoyu kullanabilirsiniz.
🖌 Tasarım ve Parçalarını Dışarı Aktarın 🛠 Figma Asset'lerini Dışa Aktarma Tasarımınızdaki öğeleri dışa aktarmak için:
- Figma'da istediğiniz öğenin üzerine gelin.
- Sağ tarafta "Export" bölümünü göreceksiniz.
- Format ve boyutu seçerek "Export" butonuna tıklayın.
- İndirilen öğeleri projenizde uygun klasörde saklayın.
Tabii ki, Figma'nın kullanımındaki bazı temel adımlara odaklanalım! Figma, tasarımınızda kullanılan renkleri ve fontları rahatça okumanızı sağlar. Bu sayede uygulamanızda kullanılacak stil bilgilerini kolayca alabilirsiniz. 🎨
- Renk Seçimi: Figma dosyasında istediğiniz bir öğeye tıklayın (örneğin, bir buton veya metin). Bu, öğenin özelliklerini sağ tarafta gösterecektir.
- Renk Kodunu Kopyalama: Sağ tarafta, 'Fill' bölümünde, renk kodunu (genellikle HEX olarak) göreceksiniz. Bu kodu doğrudan kopyalayarak CSS veya React bileşenlerinizde kullanabilirsiniz.
💡 İpucu: Figma, RGB, HEX ve HSL dahil olmak üzere farklı renk formatlarını destekler. İhtiyacınıza uygun formatı seçmek için renk kodunun yanındaki küçük renk kutusuna tıklayın.
- Metin Seçimi: Tasarımınızdaki herhangi bir metin öğesine tıklayın.
- Font Bilgileri: Sağ taraftaki 'Text' bölümünde, font ailesi (örneğin, "Roboto"), font ağırlığı (örneğin, "Regular" veya "Bold") ve font boyutu gibi metin özelliklerini göreceksiniz.
- Eğer projenizde bu fontları kullanmayı planlıyorsanız, örneğin Google Fonts'tan ilgili fontları projenize dahil edebilirsiniz.
💡 İpucu: Font ağırlıklarını CSS'de tanımlarken, "Regular" için font-weight: 400;
ve "Bold" için font-weight: 700;
gibi değerleri kullanabilirsiniz.
💡 Son Not: Projeyi oluştururken kodunuzu sık sık gözden geçirin, tasarımı takip edin ve en önemlisi eğlenin! 🎉 Eğer bir yerde takılırsanız, hatırlayın: Her hata, öğrenme fırsatıdır. Bazen bir şeylerin neden çalışmadığını anlamak, nasıl çalıştığını anlamaktan bile daha öğreticidir. Başarılar dileriz! 🌟🚀