Skip to content

API and server middleware ​

Backend calls use Axios with baseURL from API_BASE_URL. Additional routes are handled by Nuxt server middleware that proxy or implement handlers (e.g. to S3, Stripe, Typesense).

Server middleware ​

PathHandlerPurpose
/api~/api/index.jsMain API proxy/router (e.g. browser-os, backend API proxy)
/driveapi~/api/drive-api.jsGoogle Drive API proxy (refresh token, etc.)
/s3~/api/s3.jsAWS S3 proxy (presign, upload/download)
/box~/api/box.jsBox API proxy (user, revoke, refresh token)
/zip~/api/zip-viewer.jsZip viewer / stream
/convert~/api/media-converterMedia conversion
/apple-app-site-association~/api/universal-link.jsApple universal links
/stripe~/api/payments.jsStripe payments (checkout, webhooks)
/phone-number~/api/phone-number.jsPhone number (e.g. Twilio)
/generate-image~/api/generate-image.jsImage generation (e.g. OpenAI)
/typesense~/api/typesense.jsTypesense search proxy

API directory ​

FilePurpose
api/index.jsMain /api handler; routes to shared or backend
api/shared/index.jsShared API helpers or routes
api/drive-api.jsDrive proxy implementation
api/s3.jsS3 presign and request handling
api/box.jsBox proxy implementation
api/payments.jsStripe integration
api/phone-number.jsPhone number service
api/generate-image.jsImage generation service
api/typesense.jsTypesense client and search
api/zip-viewer.jsZip streaming/viewing
api/universal-link.jsApple app-site-association response
api/media-converter/index.jsMedia conversion pipeline