← Back to list

backend-api
by Jawad-Chaudhary
The Evolution of Todo: A spec-driven, AI-native journey from a Python CLI to a Cloud-Native, Event-Driven AI Chatbot deployed on Kubernetes. Built with Claude Code, Spec-Kit Plus, Next.js, FastAPI, and Dapr.
⭐ 0🍴 0📅 Jan 22, 2026
SKILL.md
name: backend-api description: Build FastAPI REST APIs with CORS, JWT auth, Pydantic validation, async endpoints, and proper error handling. Use when creating API endpoints, middleware, or backend services.
FastAPI Backend API Development
Core Pattern
from fastapi import FastAPI, HTTPException, Depends
from fastapi.middleware.cors import CORSMiddleware
from pydantic import BaseModel, Field
import os
app = FastAPI(title="API")
# CORS from environment
app.add_middleware(
CORSMiddleware,
allow_origins=os.getenv("CORS_ORIGINS", "").split(","),
allow_credentials=os.getenv("CORS_ALLOW_CREDENTIALS") == "true",
allow_methods=["*"],
allow_headers=["*"],
)
class Request(BaseModel):
field: str = Field(..., min_length=1)
@app.post("/api/{user_id}/endpoint")
async def endpoint(user_id: str, req: Request, current_user: str = Depends(verify_jwt)):
if user_id != current_user:
raise HTTPException(status_code=403, detail="User ID mismatch")
return {"status": "ok"}
Error Handling
- Use
HTTPExceptionwith proper status codes (401, 403, 404, 500) - Provide user-friendly error messages
- Always use async for I/O operations
Testing
from fastapi.testclient import TestClient
client = TestClient(app)
response = client.post("/api/user123/endpoint", json={"field": "value"})
assert response.status_code == 200
Score
Total Score
50/100
Based on repository quality metrics
✓SKILL.md
SKILL.mdファイルが含まれている
+20
○LICENSE
ライセンスが設定されている
0/10
✓説明文
100文字以上の説明がある
+10
○人気
GitHub Stars 100以上
0/15
○最近の活動
3ヶ月以内に更新がある
0/10
○フォーク
10回以上フォークされている
0/5
✓Issue管理
オープンIssueが50未満
+5
✓言語
プログラミング言語が設定されている
+5
○タグ
1つ以上のタグが設定されている
0/5
Reviews
💬
Reviews coming soon