backend-patternslisted
Install: claude install-skill sardonyx0827/dotfiles
# Backend Development Patterns
Backend architecture patterns and best practices for scalable server-side applications.
## API Design Patterns
### RESTful API Structure
```typescript
// ✅ Resource-based URLs
GET /api/products # List resources
GET /api/products/:id # Get single resource
POST /api/products # Create resource
PUT /api/products/:id # Replace resource
PATCH /api/products/:id # Update resource
DELETE /api/products/:id # Delete resource
// ✅ Query parameters for filtering, sorting, pagination
GET /api/products?status=active&sort=sales&limit=20&offset=0
```
### Repository Pattern
```typescript
// Abstract data access logic
interface ProductRepository {
findAll(filters?: ProductFilters): Promise<Product[]>;
findById(id: string): Promise<Product | null>;
create(data: CreateProductDto): Promise<Product>;
update(id: string, data: UpdateProductDto): Promise<Product>;
delete(id: string): Promise<void>;
}
class SupabaseProductRepository implements ProductRepository {
async findAll(filters?: ProductFilters): Promise<Product[]> {
let query = supabase.from("products").select("*");
if (filters?.status) {
query = query.eq("status", filters.status);
}
if (filters?.limit) {
query = query.limit(filters.limit);
}
const { data, error } = await query;
if (error) throw new Error(error.message);
return data;
}
// Other methods