canva-architecture-variants

Featured

Choose and implement Canva Connect API architecture blueprints for different scales. Use when designing new Canva integrations, choosing between monolith/service/microservice architectures, or planning migration paths. Trigger with phrases like "canva architecture", "canva blueprint", "how to structure canva", "canva project layout", "canva microservice".

AI & Automation 2,266 stars 315 forks Updated today MIT

Install

View on GitHub

Quality Score: 99/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

# Canva Architecture Variants ## Overview Three validated architecture patterns for Canva Connect API integrations. All use the REST API at `api.canva.com/rest/v1/*` with OAuth 2.0 PKCE tokens. The key architectural decision is how to handle token storage, async operations (exports, autofills), and rate limit management. ## Variant A: Monolith (Simple) **Best for:** MVPs, small teams, < 100 Canva users ``` my-app/ ├── src/ │ ├── canva/ │ │ ├── client.ts # REST client with auto-refresh │ │ ├── auth.ts # OAuth PKCE flow │ │ └── types.ts │ ├── routes/ │ │ ├── auth.ts # OAuth callback │ │ └── designs.ts # Design CRUD │ ├── store/ │ │ └── tokens.ts # SQLite/file token store │ └── index.ts ``` ```typescript // Direct API calls in route handlers app.post('/api/designs', async (req, res) => { const canva = getClientForUser(req.user.id); const { design } = await canva.request('/designs', { method: 'POST', body: JSON.stringify({ design_type: { type: 'custom', width: 1080, height: 1080 }, title: req.body.title, }), }); res.json({ designId: design.id, editUrl: design.urls.edit_url }); }); ``` **Pros:** Fast to build, simple token management, easy to debug. **Cons:** Synchronous exports block requests, no job queue for autofills. --- ## Variant B: Service Layer (Moderate) **Best for:** Growing apps, 100-1,000 users, multiple Canva features ``` my-app/ ├── src/ │ ├...

Details

Author
jeremylongshore
Repository
jeremylongshore/claude-code-plugins-plus-skills
Created
7 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Featured

canva-reference-architecture

Implement Canva Connect API reference architecture with best-practice project layout. Use when designing new Canva integrations, reviewing project structure, or establishing architecture standards for Canva applications. Trigger with phrases like "canva architecture", "canva project structure", "how to organize canva", "canva layout", "canva reference".

2,266 Updated today
jeremylongshore
AI & Automation Featured

canva-sdk-patterns

Apply production-ready Canva Connect API client patterns for TypeScript and Python. Use when building a reusable API client, implementing token refresh, or establishing team coding standards for Canva integrations. Trigger with phrases like "canva client patterns", "canva best practices", "canva code patterns", "canva API wrapper", "canva TypeScript client".

2,266 Updated today
jeremylongshore
AI & Automation Featured

canva-hello-world

Create a minimal working Canva Connect API example. Use when starting a new Canva integration, testing your setup, or learning basic Canva REST API patterns. Trigger with phrases like "canva hello world", "canva example", "canva quick start", "simple canva code".

2,266 Updated today
jeremylongshore
AI & Automation Featured

canva-performance-tuning

Optimize Canva Connect API performance with caching, pagination, and connection pooling. Use when experiencing slow API responses, implementing caching strategies, or optimizing request throughput for Canva integrations. Trigger with phrases like "canva performance", "optimize canva", "canva latency", "canva caching", "canva slow", "canva pagination".

2,266 Updated today
jeremylongshore
AI & Automation Featured

canva-known-pitfalls

Identify and avoid Canva Connect API anti-patterns and common integration mistakes. Use when reviewing Canva code, onboarding developers, or auditing existing Canva integrations for best practices violations. Trigger with phrases like "canva mistakes", "canva anti-patterns", "canva pitfalls", "canva what not to do", "canva code review".

2,266 Updated today
jeremylongshore