backend-patterns

Solid

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

API & Backend 196,640 stars 30253 forks Updated 2 days ago MIT

Install

View on GitHub

Quality Score: 93/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# 後端開發模式 用於可擴展伺服器端應用程式的後端架構模式和最佳實務。 ## API 設計模式 ### RESTful API 結構 ```typescript // PASS: 基於資源的 URL GET /api/markets # 列出資源 GET /api/markets/:id # 取得單一資源 POST /api/markets # 建立資源 PUT /api/markets/:id # 替換資源 PATCH /api/markets/:id # 更新資源 DELETE /api/markets/:id # 刪除資源 // PASS: 用於過濾、排序、分頁的查詢參數 GET /api/markets?status=active&sort=volume&limit=20&offset=0 ``` ### Repository 模式 ```typescript // 抽象資料存取邏輯 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 } // 其他方法... } ``` ### Service 層模式 ```typescript // 業務邏輯與資料存取分離 class MarketService { constructor(private marketRepo: MarketRepository) {} async searchMarkets(query: string, limit: number = 10): Promise<Market[]> { // 業務邏輯 const embedding = await generateEmbeddin...

Details

Author
affaan-m
Repository
affaan-m/everything-claude-code
Created
4 months ago
Last Updated
2 days ago
Language
JavaScript
License
MIT

Integrates with

Related Skills