← ClaudeAtlas

backend-patternslisted

Backend architecture, API design, and server-side patterns for Node.js, Express, and Next.js API routes. Use when designing or building REST/RPC endpoints, structuring services/controllers/middleware, handling auth/validation/error responses, or optimizing database access from the server.
sardonyx0827/dotfiles · ★ 0 · API & Backend · score 72
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