SocialMaker, kullanıcıların gönderi oluşturabileceği, diğer kullanıcılarla etkileşime geçebileceği ve kendi profillerini yönetebileceği bir sosyal medya uygulamasıdır.
SocialMaker, kullanıcıların sosyal medya ortamında etkileşimde bulunmalarını sağlar. Kullanıcılar profil oluşturabilir, gönderiler paylaşabilir, diğer kullanıcılarla etkileşim kurabilir ve daha fazlasını yapabilir. Bu proje, modern web teknolojilerini kullanarak esnek ve ölçeklenebilir bir yapı sunar.
- Kullanıcı Kaydı ve Girişi: Kullanıcılar sisteme kayıt olabilir ve giriş yapabilir.
- Profil Yönetimi: Kullanıcılar profil bilgilerini güncelleyebilir, profil fotoğraflarını yükleyebilir.
- Gönderi Paylaşımı: Kullanıcılar gönderi oluşturabilir, görüntüleyebilir ve silebilir.
- Gönderilere Yorum Yapma: Kullanıcılar gönderilere yorum yapabilir.
- Gönderileri Beğenme: Kullanıcılar gönderileri beğenebilir.
- Bildirimler: Kullanıcılar kendilerine yapılan etkileşimler hakkında bildirim alabilir.
- Takip Sistemi: Kullanıcılar birbirlerini takip edebilir ve takipçilerini görebilir.
- Java 17+
- Maven
- MySQL veya H2 veritabanı
- Docker (opsiyonel, veritabanını çalıştırmak için)
git clone https://github.com/kullanici/socialmaker.git
cd socialmaker
- MySQL Kullanıyorsanız:
application.properties
dosyasında MySQL yapılandırmanızı yapın.
spring.datasource.url=jdbc:mysql://localhost:3306/socialmaker_db
spring.datasource.username=root
spring.datasource.password=yourpassword
- H2 Veritabanı Kullanıyorsanız: H2 veritabanı ayarlarını kullanarak projenizi başlatabilirsiniz.
spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
mvn clean install
mvn spring-boot:run
Proje başarıyla başlatıldığında, API http://localhost:8080
adresinde çalışacaktır.
-
Kullanıcı Kaydı ve Girişi`
POST /api/auth/register
: Kullanıcı kaydıPOST /api/auth/login
: Kullanıcı girişi
-
Profil Yönetimi
GET /api/users/{userId}
: Kullanıcı profil bilgilerini getirirPUT /api/users/{userId}/update-profile
: Kullanıcı profil bilgilerini güncellerPOST /api/users/{userId}/upload-profile-picture
: Profil fotoğrafı yükleme
-
Gönderiler
POST /api/posts
: Yeni gönderi oluştururGET /api/posts/user/{userId}
: Belirtilen kullanıcıya ait gönderileri getirirDELETE /api/posts/{postId}
: Gönderiyi siler
-
Yorumlar
POST /api/posts/{postId}/comments
: Gönderiye yorum yaparGET /api/posts/{postId}/comments
: Gönderinin yorumlarını getirir
-
Beğeniler
POST /api/posts/{postId}/like
: Gönderiyi beğenirPOST /api/posts/{postId}/unlike
: Gönderiyi beğenmekten vazgeçer
-
Takip
POST /api/users/{userId}/follow/{followedUserId}
: Kullanıcıyı takip ederDELETE /api/users/{userId}/unfollow/{followedUserId}
: Takipten çıkar
curl -X POST http://localhost:8080/api/auth/register \
-H 'Content-Type: application/json' \
-d '{"username": "johndoe", "email": "[email protected]", "password": "123456"}'
Katkıda bulunmak için lütfen bir fork yapın ve ardından bir pull request gönderin. Değişikliklerinizi detaylıca açıklamayı unutmayın.
Bu proje MIT Lisansı altında lisanslanmıştır. Daha fazla bilgi için LICENSE
dosyasına bakın.
Herhangi bir sorunuz veya geri bildiriminiz için mail adresinden bana ulaşabilirsiniz.