rasnesakam / Trascendence

Last project on 42
GNU General Public License v3.0
3 stars 3 forks source link

Backend Tasarımı #12

Closed rasnesakam closed 9 months ago

rasnesakam commented 1 year ago

Arkaplan yazılımı Python dili ve Django geliştirme çerçevesi kullanılarak yapılacaktır. Arkaplan yazılımı, RESTful olacak şekilde tasarlanacaktır.

Arkaplan Yazılım Görevleri

Oluşturulacak Bağlantı Noktaları

Auth /auth

GET

Bu bağlantı noktasına GET metodu ile erişildiğinde bir adet yetkilendirme denemesi yapılacak.

Bu işlem için gerekli parametreler şunlardır:

Eğer belirteç doğrulanırsa 200 http kodu döndürülmelidir

POST

Bu bağlantı noktasına POST metodu ile erişilmeye çalıştığında yeni bir JWT belirteci oluşturulup istemciye geri döndürülmesi gerekir.

Bu işlem için gerekli parametreler:

Tournament /tournament

Bu bağlantı noktası turnuva dinamiklerini yönetmek için kullanılır.

Get /tournament/tournament-id

Bu bağlantı noktasına erişildiğinde spesifik bir turnuvaya kayıtlı olan oyuncu bilgilerini listeler. Bu işlem için gereken parametreler:

Get /tournament/tournament-code/username

Bu bağlantı noktasına erişildiğinde istemci tarafına spesifik bir turnuvada belirtilen kullanıcının rakibinin bilgileri iletilir.

POST /tournament/sign/tournament-code

Bu bağlantı noktasına erişildiğinde, sunucu tarafında turnuva için bir oyuncu kaydı yapılır. İsteği atan oyuncu, tournament-code adlı turnuvaya kaydolur.

DELETE /tournament/sign/tournament-code

Bu bağlantı noktasına erişildiğinde, sunucu tarafında turnuva için bir oyuncu kaydı kaldırılır. İsteği atan oyuncu, tournament-code adlı turnuvadan çekilir.

Interact, Friends /interact/friends

Bu bağlantı noktası, kullanıcıların birbirleri arasındaki etkileşim mekaniklerini yönetmek amacıyla kullanılır

GET /interact/friends

Bu bağlantı noktası, kullanıcının sahip olduğu arkadaşlar listesini içeren bir json yanıtı içerir.

POST /interact/friends/username

Bu bağlantı noktası, sunucu tarafında username kullanıcısı için arkadaşlık daveti kaydı oluşturur.

Interact, Invitations /interact/invitations

GET /interact/invitations

Bu bağlantı noktası kullanıcının sahip olduğu arkadaşlık davetlerini içeren bir json dosyası gönderir.

POST /interact/invitations/accept/user-name

Bu bağlantı noktası user-name kişisinin davetini onaylayarak, kişiyi arkadaş listesine ekler

DELETE /interact/invitations/accept/user-name

Bu bağlantı noktası user-name kişisinin davetini reddederek, kişiyi arkadaş listesinden çıkartır

Interact, Blacklists /interact/blacklist

Blacklist bağlantı noktası, engellenen kişileri içeren bir listedir.

GET /interact/blacklist

Bu bağlantı noktası kullanıcının kara

POST /interact/blacklist/user-name

Bu bağlantı noktası user-name kişisini kara listeye ekleyerek engeller.

DELETE /interact/blacklist/user-name

Bu bağlantı noktası user-name kişisini kara listeden kaldırır. Böylelikle engeli de ortadan kalkar

rasnesakam commented 9 months ago

Değişiklik gerektiğinde tekrar açılacak