Manage Apple Reminders via the `remindctl` CLI on macOS (list, add, edit, complete, delete)....
npx skills add vuralserhat86/antigravity-agentic-skills --skill "firestore_patterns"
Install specific skill from multi-skill repository
# Description
Firebase Firestore NoSQL patterns, real-time sync ve security rules rehberi.
# 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 != nullkontrolü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şama | Doğrulama |
|---|---|
| 1 | Bir dökümanı okumak için 100 başka döküman okumak gerekiyor mu? (Kötü) |
| 2 | Herkesin yazabildiği (allow write: if true) bir yer kaldı mı? (Kritik) |
| 3 | Sorgular index hatası veriyor mu? |
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.