6f050aec7d
- Add 5s in-memory cache for /drawings responses with automatic cleanup - Split Drawing/DrawingSummary types for efficient data fetching - Implement lazy loading of drawing data in DrawingCard component - Add configurable DRAWINGS_CACHE_TTL_MS and RATE_LIMIT_MAX_REQUESTS env vars - Prevent memory leaks with periodic cleanup of cache and rate limit maps - Add loading states and better UX for export operations - Improve JSON parsing with error handling for malformed stored data Benchmark results (100 drawings, cached): - Avg latency: 6.94ms (p50: 4ms, p97.5: 8ms) - Avg throughput: 668 req/s (peak: 1,023) - 3k requests in 5s with 0 errors Update .gitignore to exclude generated files, env files, and build artifacts
76 lines
879 B
Plaintext
76 lines
879 B
Plaintext
# Dependencies
|
|
frontend/node_modules
|
|
backend/node_modules
|
|
|
|
# Database
|
|
backend/prisma/*.db
|
|
backend/prisma/dev.db
|
|
|
|
# Generated files
|
|
backend/src/generated/
|
|
|
|
# Environment variables
|
|
.env
|
|
.env.local
|
|
.env.production
|
|
.env.staging
|
|
|
|
# Build outputs
|
|
frontend/dist/
|
|
frontend/build/
|
|
backend/dist/
|
|
|
|
# Logs
|
|
*.log
|
|
logs/
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
|
|
# Runtime data
|
|
pids
|
|
*.pid
|
|
*.seed
|
|
*.pid.lock
|
|
|
|
# Coverage directory used by tools like istanbul
|
|
coverage/
|
|
*.lcov
|
|
|
|
# Dependency directories
|
|
jspm_packages/
|
|
|
|
# Optional npm cache directory
|
|
.npm
|
|
|
|
# Optional REPL history
|
|
.node_repl_history
|
|
|
|
# Output of 'npm pack'
|
|
*.tgz
|
|
|
|
# Yarn Integrity file
|
|
.yarn-integrity
|
|
|
|
# dotenv environment variables file
|
|
.env.test
|
|
|
|
# IDE/Editor files
|
|
.vscode/
|
|
.idea/
|
|
*.swp
|
|
*.swo
|
|
*~
|
|
|
|
# OS generated files
|
|
.DS_Store
|
|
.DS_Store?
|
|
._*
|
|
.Spotlight-V100
|
|
.Trashes
|
|
ehthumbs.db
|
|
Thumbs.db
|
|
|
|
# Temporary files
|
|
*.tmp
|
|
*.temp |