実績・プロジェクト/Clofel Creates
リアルタイム在庫とコミッション追跡機能を備えた、独立系アーティスト兼開発者のためのフルスタックポートフォリオ&ECショップ。

独立系アーティスト兼ウェブ開発者のためのフルスタックEC・クリエイティブポートフォリオプラットフォーム。リアルタイム在庫管理を備えたインタラクティブな公開ストアフロント、ハニーポットによるボット対策・動的予算検証・多通貨価格設定を備えた公開アートコミッション問い合わせ&注文状況追跡ワークフロー、そして商品・ポートフォリオ・メディアアップロード・クーポン・財務レポートを管理する管理者向けCMSを特徴とする。
Key architectural decisions, concrete code implementations, and performance wins behind this project.
Client commission requests were frequently submitted with unrealistic lowball budgets or missing reference photos for custom portrait art, alongside unsolicited spam submissions targeting public intake endpoints.
Built a specialized multi-tiered validation engine in CommissionsService that programmatically classifies commission categories (art vs. software/web) and enforces custom minimum budget constraints (e.g. ₱500 chibi up to ₱2,600+ large canvas) along with mandatory reference assets. Integrated a zero-friction honeypot field that silently drops automated bot submissions without burdening legitimate clients with intrusive CAPTCHAs.
Preventing internal database schemas, Prisma queries, and stack traces from leaking to client responses across unexpected runtime failures while ensuring actionable tracing for operators.
Engineered an application-wide NestJS ExceptionFilter that generates unique request correlation IDs (`requestId`), traps both known HTTP exceptions and raw uncaught runtime errors, logs complete stack traces server-side with structured logging, and formats safe, sanitized JSON contract payloads for the client.
Self-hosting multi-tier services (Next.js client and NestJS API) behind a shared Traefik ingress while supporting large multipart media uploads up to 50MB and maintaining zero-downtime health dependencies.
Configured Docker Compose service definitions with automated HTTP healthcheck probes, Traefik dynamic labels with router priority isolation, automatic Let's Encrypt TLS termination, and custom request buffering with network error retries for high-volume uploads.
Preventing hotlinking, unauthenticated external image injection, or arbitrary URL storage in portfolio and commission records.
Enforced strict origin URL verification against configured Cloudflare R2 public endpoints prior to persisting database records, ensuring all media assets pass through authenticated presigned upload pipelines.
// community_discussion
Have thoughts, questions, or ideas regarding this system's architecture? Leave a comment below with your GitHub account.