# Backend Architecture Patterns

Covers API design, database optimization and server patterns for Node.js and Express.

- Repository: https://github.com/WorldFlowAI/everything-claude-code (5734 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-01-23
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add WorldFlowAI/everything-claude-code --skill backend-patterns -g -a claude-code -y`
Codex: `npx skills add WorldFlowAI/everything-claude-code --skill backend-patterns -g -a codex -y`
Cursor: `npx skills add WorldFlowAI/everything-claude-code --skill backend-patterns -g -a cursor -y`
Gemini CLI: `npx skills add WorldFlowAI/everything-claude-code --skill backend-patterns -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add WorldFlowAI/everything-claude-code`

## Description

Backend architecture patterns, API design, database optimization, and server-side best practices for Node.js, Express, and Next.js API routes.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 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/markets                 # List resources
GET    /api/markets/:id             # Get single resource
POST   /api/markets                 # Create resource
PUT    /api/markets/:id             # Replace resource
PATCH  /api/markets/:id             # Update resource
DELETE /api/markets/:id             # Delete resource

// ✅ Query parameters for filtering, sorting, pagination
GET /api/markets?status=active&sort=volume&limit=20&offset=0
```

### Repository Pattern

```typescript
// Abstract data access logic
interface MarketRepository {
  findAll(filters?: MarketFilters): Promise<Market[]>
  findById(id: string): Promise<Market | null>
  create(data: CreateMarketDto): Promise<Market>
  update(id: string, data: UpdateMarketDto): Promise<Market>
  delete(id: string): Promise<void>
}

class SupabaseMarketRepository implements MarketRepository {
  async findAll(filters?: MarketFilters): Promise<Market[]> {
    let query = supabase.from('markets').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...
}
```

### Service Layer Pattern

```typescript
// Business logic separated from data access
class MarketService {
  constructor(private marketRepo: MarketRepository) {}

  async searchMarkets(query: string, limit: number = 10): Promise<Market[]> {
    // Business logic
    const embedding = await generateEmbedding(query)
    const results = await this.vectorSearch(embedding, limit)

    // Fetch full data
    const markets = await this.marketRepo.findByIds(results.map(r => r.id))

The rest: https://github.com/WorldFlowAI/everything-claude-code/blob/HEAD/skills/backend-patterns/SKILL.md
