# Custom Store

ASS yapısını kullanan bir appstoredur. Farukbase modülü ve Nodejs ile server tarafında çalışır. Unity ASS paketi için geliştirilmiştir. 

### İçerikler

[TOC]

# ASS Yapısı

ASS, 3 kavramın kısaltmasıyla alakalı genel bir pakettir.

* **Analyze** : Kullanıcı davranışlarını,cihaz,oyun,durum analiz ve takibi.
* **Social** : Sosyal sistemler (GPG,Origin,Steam gibi) 
* **Security** : Oyunun güvenliğini sağlar. (Uzaktan oyun mekanizmasına müdahale)



## Analyze

Kullanıcın(ve oturumun) screenleri, eventleri, davranışları, cihazı, oyunun durumu,tarihler zamanlar vsvs analiz edilir.

#### Özellikler

* Bug Report
* Event Logging
* Error logging
* Screen logging
* Device logging

## Social

Market,Scoreboard, Achievement, User, ASS-MESSAGE(UserId,Name,Message)

#### Özellikler

- ??? Remote Settings
- Account
- Games
- Achievements
- Scoreboards
- News
- Notifications
- Messaging
- ??? Cloud Save

## Security

Oyunların ve kullanıcların güvenliği

#### Özellikler

- Bug report ile şikayet
- Cihaz oyunsi bilgisi takibi
- Kullanıcı banlama
- Ip banlama
- App banlama
- Oyun banlama
- Cihaz banlama







# Farukbase Veritabanı ve Depolama

Gerçek zamanlı bir veritabanı olan farukbase kullanılır. Ve bütün verilere/dosyalara buradan erişilir.

incele :  <http://jsonformatter.org/3460d0>



# Rest API

Farukbase http routerları ile fonksiyonize edilmiştir.

## Routerlar

### /admin/achievement/create

```
# örnek json request

POST -> http://host/admin/achievement/create
{
	"game" : "new-game",
	"name" : "New ACH",
	"description" : "DESc of New ACH",
	"id" : "new_ach",
	"score" : 5
}

# çıktı 
ok

# sonuç
Oyuna yeni bir başarım tipi eklenir
```









# Geliştime

### Fonksiyonlar

#### Admin

* [x] Oyun Oluştur
* [x] Oyunu Gizle
* [x] Skor tablosu oluştur/kaldır
* [x] Achievement oluştur
* [x] Haber oluştur

#### Client

* [x] change_status : /Oyunu sahiplen / oyna / yükle
* [x] Skor gönder
* [x] Achievement aç -> achievement açıldı bildirimi
* [x] Mesaj gönder / okundu işaretle
* [x] Arkadaş ekleme isteği -> arkadaş bildirimi
* [x] Arkadaşı kabul isteği -> iki tarafa arkadaş oldunuz bildirimi
* [x] notification read
* [x] Arkadaşlığı fesh etme

#### Device

* [x] Screen gönder. device_unique_sha256_hash_id + screen + extra
* [x] Bug Report et . id + bug + extra 
* [x] Cihaz bilgisi oto-gönder ve güvenlik dönüşü al. ( analyze/secure/intel ) id + info(app,game,platform,ip) + extra
* [x] Event oto-gönder. id + event + extra
* [x] Hata oto-gönder id + error + extra
* [x] [LOGS FOR ALL]

​