ArtisanFrameFull-Stack NestJS + Next.js

NestJS API Documentation

v1.0 (NestJS + Stripe)

Comprehensive Frontend Developer Guide for NestJS API endpoints, security guards, and request parameters.

Backend Base URL: http://localhost:3000
1. Auth & Silent Refresh

NestJS sets 2 HttpOnly cookies (access_token & refresh_token). When Access Token expires (15 min), backend returns 401. RTK Query automatically calls POST /api/auth/google/refresh silently and retries the original request!

2. Stripe Checkout Flow

Step 1: Get publishable key (/payment/key). Step 2: Initiate PaymentIntent (/payment/initiate) to receive clientSecret. Step 3: Mount Stripe Elements card widget. Step 4: Verify payment (/payment/verify) to generate MongoDB Order.

3. Multipart Image Uploads

Posters and review photos use multipart/form-data with images file field. NestJS interceptor uploads files directly to Cloudinary CDN and returns secure HTTPS image URLs.

Showing 28 API endpoints
POST/api/auth/google/login
Public
POST/api/auth/google/refresh
Public
POST/api/auth/google/logout
Auth User
GET/api/auth/google/me
Auth User
GET/api/inventory
Public
GET/api/inventory/featured
Public
GET/api/inventory/:id
Public
GET/api/inventory/categories/list
Public
POST/api/inventory
Admin Only
PUT/api/inventory/:id
Admin Only
DELETE/api/inventory/:id
Admin Only
GET/api/order/payment/key
Auth User
POST/api/order/payment/initiate
Auth User
POST/api/order/payment/verify
Auth User
GET/api/order
Auth User
GET/api/order/:id
Auth User
GET/api/review/:posterId
Public
POST/api/review/:posterId
Auth User
PUT/api/review/:id
Auth User
DELETE/api/review/:id
Auth User
GET/api/admin/stats
Admin Only
GET/api/admin/orders/recent
Admin Only
GET/api/admin/orders
Admin Only
PATCH/api/admin/orders/:id/status
Admin Only
PATCH/api/admin/orders/:id/cancel
Admin Only
GET/api/admin/customers
Admin Only
GET/api/admin/products/top
Admin Only
GET/api/admin/analytics/revenue
Admin Only