Skip to content

kemalakalin/twitterapi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Twitter Clone API (Spring Boot & JWT)

Bu proje, Twitter'ın temel özelliklerini sunan, modern mikroservis yaklaşımlarına uygun olarak geliştirilmiş bir RESTful API uygulamasıdır. Kullanıcı yönetimi, tweet paylaşımı, etkileşimler (like, comment, retweet) ve güvenlik katmanlarını içeren uçtan uca bir backend çözümüdür.

🚀 Temel Özellikler

  • Authentication & Authorization:
    • JWT (JSON Web Token) tabanlı güvenli kimlik doğrulama.
    • Kullanıcı kaydı (Register) ve girişi (Login).
    • Rol bazlı erişim kontrolü.
  • Tweet Yönetimi:
    • Tweet oluşturma, listeleme, güncelleme ve silme.
    • Tweet bazlı karakter sınırı (280 karakter).
  • Etkileşimler:
    • Beğeni (Like): Tweetleri beğenme ve beğeniyi geri çekme.
    • Yorum (Comment): Tweetlerin altına yorum ekleme ve yönetme.
    • Retweet: Başka bir kullanıcının tweetini kendi profilinde paylaşma (mükerrer retweet engeli ile).
  • Güvenlik & Validasyon:
    • Şifrelerin BCrypt ile hash'lenerek saklanması.
    • Input validasyonları (E-posta formatı, boş alan kontrolü vb.).
    • Global hata yönetimi (Custom Exceptions).

🛠 Kullanılan Teknolojiler

  • Backend: Java 17, Spring Boot 3.x / 4.x
  • Veritabanı: PostgreSQL
  • Güvenlik: Spring Security, JWT (JJWT Library)
  • Veri Erişimi: Spring Data JPA, Hibernate
  • Yardımcı Kütüphaneler: Lombok, Jackson
  • Araçlar: Maven, Postman

⚙️ Kurulum ve Çalıştırma

  1. Projeyi Klonlayın:

  2. Veritabanı Ayarları: src/main/resources/application.properties dosyasındaki veritabanı bilgilerini güncelleyin:

  3. Projeyi Derleyin ve Çalıştırın:


📡 API Endpoint Örnekleri

Method Endpoint Açıklama
POST /api/auth/register Yeni kullanıcı kaydı
POST /api/auth/login Giriş yap ve Token al
GET /api/tweets Tüm tweetleri listele
POST /api/tweets Yeni tweet paylaş (Auth Gerekli)
POST /api/likes/{tweetId} Tweete beğeni at/kaldır
POST /api/retweets/{tweetId} Tweeti retweetle

About

Twitter Clone API (Spring Boot & JWT)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages