スキル一覧に戻る
vuralserhat86

firestore-patterns

by vuralserhat86

OS for Agents: 130+ Agentic Skills, Gemini Protocols, and Autonomous Workflows. (Antigravity System)

19🍴 9📅 2026年1月23日
GitHubで見るManusで実行

SKILL.md


name: firestore_patterns router_kit: FullStackKit description: Firebase Firestore NoSQL patterns, real-time sync ve security rules rehberi. metadata: skillport: category: database tags: [architecture, automation, best practices, clean code, coding, collaboration, compliance, debugging, design patterns, development, documentation, efficiency, firestore patterns, git, optimization, productivity, programming, project management, quality assurance, refactoring, software engineering, standards, testing, utilities, version control, workflow] - realtime

🔥 Firestore Patterns

Firebase Firestore NoSQL patterns rehberi.


📋 Temel İşlemler

import { 
  collection, doc, getDoc, setDoc, 
  addDoc, updateDoc, deleteDoc, query, where 
} from 'firebase/firestore';

// Read
const docRef = doc(db, 'users', 'userId');
const docSnap = await getDoc(docRef);

// Create
await setDoc(doc(db, 'users', 'userId'), { name: 'John' });
await addDoc(collection(db, 'users'), { name: 'John' }); // Auto ID

// Update
await updateDoc(doc(db, 'users', 'userId'), { name: 'Jane' });

// Delete
await deleteDoc(doc(db, 'users', 'userId'));

🔄 Real-time Listeners

import { onSnapshot } from 'firebase/firestore';

const unsubscribe = onSnapshot(
  doc(db, 'users', 'userId'),
  (doc) => {
    console.log('Data:', doc.data());
  }
);

// Cleanup
unsubscribe();

🔍 Queries

const q = query(
  collection(db, 'users'),
  where('age', '>=', 18),
  where('status', '==', 'active'),
  orderBy('createdAt', 'desc'),
  limit(10)
);

const querySnapshot = await getDocs(q);

🔒 Security Rules

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId} {
      allow read: if request.auth != null;
      allow write: if request.auth.uid == userId;
    }
  }
}

Firestore Patterns v1.1 - Enhanced

🔄 Workflow

Kaynak: Firebase Security Rules Guide

Aşama 1: Data Modeling

  • Access Patterns: Veriyi nasıl okuyacağına göre modelle (SQL gibi normalize etme).
  • Subcollections: 1MB döküman limitini aşmamak için alt koleksiyon kullan.
  • Denormalization: Okuma performansını artırmak için veriyi çoğaltmayı düşün.

Aşama 2: Security Implementation

  • Auth: request.auth != null kontrolünü her kurala ekle.
  • Validation: Gelen veriyi (type, length) security rules içinde doğrula.
  • Testing: Emulator kullanarak kuralları unit test ile sına.

Aşama 3: Optimization

  • Indexes: Karmaşık sorgular için composite index oluştur.
  • Offline: Mobil için offline persistence'ı aktif et.

Kontrol Noktaları

AşamaDoğrulama
1Bir dökümanı okumak için 100 başka döküman okumak gerekiyor mu? (Kötü)
2Herkesin yazabildiği (allow write: if true) bir yer kaldı mı? (Kritik)
3Sorgular index hatası veriyor mu?

スコア

総合スコア

60/100

リポジトリの品質指標に基づく評価

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

+10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

レビュー

💬

レビュー機能は近日公開予定です