Frontend
The Raw Beats UI is a Nuxt 3 app with a dark marketplace aesthetic, global audio playback, and a producer dashboard.
Framework & runtime
- Nuxt 3 (
3.3.3) — routing, SSR, auto-imports - Vue 3 — Composition API with
<script setup> - TypeScript — in composables and newer components
- Node —
>=20.19.0
Styling & design system
- Tailwind CSS — utilities via
@nuxtjs/tailwindcss assets/css/design-system.css— tokens, glass cards, gradient buttonsassets/css/main.css— base styles, form helpers- Color schemes — runtime theme via
plugins/color-scheme.client.ts - Fonts — Inter (UI), JetBrains Mono (code)
- Icons — Heroicons through the
Iconcomponent
State & data fetching
- Pinia — global state (
@pinia/nuxt, e.g. messages store) - useApi — authenticated fetch wrapper with JWT from localStorage
- Composables —
useAuth,useGlobalAudio,useSocket - API base — same-origin
/apion Vercel; dev proxy innuxt.config.ts
Layouts
default— public pages (header + footer)dashboard— producer area with sidebardocs— documentation with sidebar navigation
Key UI areas
AppHeader/AppFooter— global chromeWaveformAudioPlayer+useGlobalAudio— persistent beat previewDashboardSidebar— producer navigationStorefrontBeatCard,HorizontalFilterBar— marketplace browsing
Nuxt modules
@nuxtjs/tailwindcss
@vueuse/nuxt
@pinia/nuxt