FuturePaths Platform Foundation

Build the shared web and mobile core first.

This scaffold is the first implementation slice for the FuturePaths conversion. It establishes the Next.js foundation, `/api/v1` contract shape, shared auth bootstrap semantics, and the typed module boundaries that both the web client and Expo mobile clients will consume.

Open public discoveryLoginCreator workspaceAdmin moderationNext.js App RouterTypeScript Strict ModeAPI FirstExpo-Compatible Auth Contract

Foundation Snapshot

Statusfoundation_scaffolded

Auth bootstrap route: /api/v1/auth/bootstrap

System lookups route: /api/v1/system/lookups

  • auth
  • profiles
  • jobs
  • contents
  • engagement
  • notifications
  • moderation
  • system

Bootstrap Contract

The phase-one clients share one authenticated bootstrap response with account status, locale, permission summary, unread notifications, and feature flags.

  • Display name: FuturePaths Builder
  • Account status: verified
  • Primary locale: en
  • Unread notifications: 3
  • Feature flags: push=false, questionnaires=false, invite-codes=false

Current Build Focus

  • Scaffold the shared API surface under `/api/v1`.
  • Keep auth and blocked-account checks client-agnostic.
  • Align code structure with the documented schema mapping.
  • Start with foundation contracts before feature modules.
  • Back the first jobs read endpoints with typed repositories.

Still Blocking Feature Delivery

  • Supabase integration wiring
  • PostgreSQL schema and migration scripts

Route Stubs

The implementation now includes typed route stubs and a first real backend path for foundation health, auth bootstrap, and system lookups so future work can layer in Supabase and PostgreSQL without changing the contract shape.

GET /api/v1/healthGET /api/v1/auth/bootstrapGET /api/v1/system/lookupsGET /api/v1/discovery/jobsGET /api/v1/jobsGET /api/v1/jobs/:jobIdPOST /api/v1/jobs/createPATCH /api/v1/jobs/:jobIdPOST /api/v1/commentsPOST /api/v1/reportsPOST /api/v1/jobs/:jobId/status-transitionsPOST /api/v1/ratingsPOST /api/v1/jobs/:jobId/contentsPATCH /api/v1/contents/:contentIdPOST /api/v1/contents/:contentId/upload-intentsPOST /api/v1/contents/:contentId/status-transitionsPOST /api/v1/media/provider-callbacksPOST /api/v1/profile/avatar/upload-intentsGET /api/v1/reports/creator-summary

This is intentionally a foundation slice, not a feature-complete app. The current code proves layout, contracts, and package structure so the next commit can start wiring real persistence and auth providers.