ArtJoos component - WOPR Systems LLC
Find a file
2026-04-20 10:46:38 -05:00
public Initial bootstrap - ArtJoos (hardened) 2026-04-20 10:46:38 -05:00
src Initial bootstrap - ArtJoos (hardened) 2026-04-20 10:46:38 -05:00
.dockerignore Initial bootstrap - ArtJoos (hardened) 2026-04-20 10:46:38 -05:00
Dockerfile Initial bootstrap - ArtJoos (hardened) 2026-04-20 10:46:38 -05:00
next.config.js Initial bootstrap - ArtJoos (hardened) 2026-04-20 10:46:38 -05:00
package.json Initial bootstrap - ArtJoos (hardened) 2026-04-20 10:46:38 -05:00
postcss.config.js Initial bootstrap - ArtJoos (hardened) 2026-04-20 10:46:38 -05:00
README.md Initial bootstrap - ArtJoos (hardened) 2026-04-20 10:46:38 -05:00
tailwind.config.ts Initial bootstrap - ArtJoos (hardened) 2026-04-20 10:46:38 -05:00
tsconfig.json Initial bootstrap - ArtJoos (hardened) 2026-04-20 10:46:38 -05:00

artjoos-storefront

Next.js 15 PWA storefront for ArtJoos marketplace.

WOPR Systems LLC product. AGPL-3.0.

Security

  • CSP headers (no unsafe-eval, no unsafe-inline on scripts)
  • HSTS preload (2-year max-age)
  • Non-root Docker container
  • No dangerouslySetInnerHTML anywhere
  • DOMPurify for any user-generated content rendering
  • Strict CORS (artjoos.wopr.systems origin only)

Stack

  • Next.js 15 App Router + React 19 RC
  • Tailwind CSS
  • Authentik OIDC (via NextAuth v5)
  • Saleor GraphQL (channel: artjoos)
  • Stripe Elements (checkout)

Pages

  • / - homepage, featured artists, new works
  • /artists - directory, filter by medium/location
  • /artist/[slug] - artist storefront
  • /browse - all work, chronological + filters
  • /work/[slug] - single product page with provenance verification
  • /commissions - commission request flow
  • /collection - buyer collection, wishlist
  • /artist/apply - verification application
  • /artist/dashboard - verified artist dashboard
  • /editorial - staff picks, artist of the week

WOPR Systems LLC (Illinois LLC). Revenue split per WOPR standard: 60% Foundation / 20% ops / 10% infra / 10% OSS.