Skip to content

Architecture

Main files:

  • fxmanifest.lua: resource declaration.
  • config.lua: central configuration.
  • client/: client logic and NUI bridge.
  • server/: business logic, database and callbacks.
  • html/: Vue 3 interface, CSS and visual logic.
  • sql/marketplace.sql: database schema.
  • server/secrets.example.lua: template for server-only credentials.
  • RELEASE_CHECKLIST.md: installation, migrations and commercial preparation.

The client is responsible for:

  • opening and closing the UI
  • sending initial data to the NUI
  • refreshing information
  • showing meetup blips
  • bridging the NUI and the server

The server is responsible for:

  • data validation
  • inventory
  • database persistence
  • purchases, bids, refunds, trades and notifications
  • admin actions
  • follows, wishlist, reports and ratings

The web interface is responsible for:

  • rendering the whole marketplace
  • ES/EN translations
  • filters, modals and cards
  • local state of the experience
  • formatting money, dates and labels by language