# Atölye ve Mağaza

[Atölye](/atolye/), CYD Studio kullanıcılarının `.py` projelerini paylaştığı yerdir. Karta ve kategoriye göre süzer, kodu tarayıcıda okur, dosyayı indirir ya da panelin **Mağaza** sekmesinden tek tıkla karta alırsın.

## Paylaşmak

**Proje paylaş** düğmesi bir form açar: başlık, açıklama (ne yapar, hangi pinler bağlı, nasıl çalıştırılır), hangi kartlarda çalışır, kategoriler (1–4), dosyalar ve lisans onayı.

- Anonim paylaşabilirsin; istersen bir takma ad yazarsın. Sana bir **düzenleme anahtarı** verilir, projeyi silmek için gerekir; bir daha gösterilmez (aynı tarayıcıda kaydedilir).
- **Nuvaka ile giriş** yaparsan proje kullanıcı adının altında yayınlanır ve sonradan yönetebilirsin. Giriş Nuvaka'nın OAuth sunucusu üzerindendir, parolan bu siteye gelmez.
- Paylaşılan projeler **MIT** lisansıyla yayınlanır. Yalnız kendi kodunu ya da paylaşmaya yetkili olduğun kodu paylaş.

## Sınırlar

| | |
|---|---|
| Dosya türleri | `.py`, `.txt`, `.md` (en az bir `.py`) |
| Dosya boyutu | en çok 2 MB |
| Proje başına dosya | en çok 5 |
| Saatlik yükleme | 20 dosya (IP başına) |
| Başlık / açıklama | 3–80 / 20–4000 karakter |

Zip, görsel ya da ikili dosya kabul edilmez. Kötüye kullanım, telif ihlali ya da zararlı kod bildirimi için proje sayfasındaki **Bildir** düğmesini ya da [nuvaka.com/abuse](https://nuvaka.com/abuse) adresini kullan.

## Kategoriler

LED · Sıcaklık ve nem · Işık sensörü · Hareket / PIR · Ekran · Dokunmatik · Buton ve giriş · Ağ ve HTTP · BLE · Ses · Motor ve röle · SD ve depolama · I2C / SPI / UART · Oyun · Araç ve yardımcı · Eğitim ve örnek. Bir proje birden çok kategoride olabilir.

## Panelin Mağaza sekmesi

Kart üstü panelde **Mağaza** düğmesine basınca bir arama kutusu açılır. Tarayıcın doğrudan `cyd.nuvaka.com`'a sorar (kartın internete çıkması gerekmez, kartın RAM'i kullanılmaz), en iyi sonuçları kısa açıklamalarıyla listeler; **İndir** dediğin anda dosya kartın `/projects` klasörüne yazılır ve listede görünür. Panelde internet yoksa sekme bunu söyler.

## Herkese açık arama API'si

Salt okunur, anahtarsız, CORS açık:

```
GET https://cyd.nuvaka.com/api/atolye/search?q=led&board=cyd&cat=led&limit=10
```

```json
{ "items": [ { "slug": "gece-lambasi-abc12", "title": "Gece lambası", "summary": "LDR karanlığı görünce LED'i yakar…",
               "boards": ["cyd","nodemcu"], "cats": ["led","isik"], "files": 1, "downloads": 12, "likes": 3,
               "author": { "name": "halil", "nuvaka": true } } ] }
```

Proje ayrıntısı `GET /api/atolye/projects/{slug}`, dosya `GET /api/atolye/projects/{slug}/files/{id}` (`?view=1` metin olarak, indirme sayılmaz). Oran sınırı IP başına dakikada 60 istek.
