FMG_6IX System Configuration

Current State: January 2025

System Status Overview

Audio System

Multi-URL fallback system with robust playback

Artist Management

Auto-detection with featured artist extraction

Authentication

Role-based access with clear UI indicators

Key Features Implemented

1. Artist Auto-Detection System

  • Location: components/ArtistAutoDetector.jsx + functions/autoDetectArtists.js
  • Authentication: Admin-only execution, preview available without auth
  • Features: Scans tracks, creates Artist entities, updates counts, handles duplicates
  • Royalty System: Sets default 70% royalty splits automatically

2. Metadata Extraction Tool

  • Location: components/MetadataExtractionTool.jsx + functions/extractTrackMetadata.js
  • Featured Artists: Extracts from _ft_, feat., featuring formats
  • Analytics: Genre distribution, duration analysis, collaboration patterns
  • Auto-Creation: Suggests artist profiles for detected features

3. Audio System Enhancement

  • Multi-URL Fields: audio_url, file_url, media_url, stream_url, etc.
  • Fallback System: Tries multiple audio sources until one works
  • Player Component: Enhanced AudioPlayer.jsx with reliability features
  • Interaction Tracking: Likes, plays, analytics integration

📧 Email System Testing

Test the donation and purchase email systems to verify they're working correctly.

Test Recipients:

• datguygeemoney@gmail.com
• nippy333@hotmail.com
What this tests:
  • Donation email with 3 track download links
  • Purchase confirmation email with 1 track download
  • Email delivery and HTML formatting
  • Download page URL generation

Authentication & Permissions

Admin Users (Full Access)

Super Admin:

mrflowers221@gmail.com

Role-Based Admin:

user.role === 'admin'

Authentication Flow

1. Check User.me() for current user

2. Verify admin role or super admin email

3. Progressive authentication (preview vs execute)

4. Clear UI indicators for auth status

Technical Architecture

New Components Added

  • • components/ArtistAutoDetector.jsx
  • • components/MetadataExtractionTool.jsx
  • • components/LikesSystem.jsx
  • • components/AudioPlayer.jsx (enhanced)
  • • functions/autoDetectArtists.js
  • • functions/extractTrackMetadata.js
  • • functions/createFeaturedArtists.js
  • • functions/previewArtistDetection.js

Base44 SDK Integration Pattern

// Backend Functions Pattern
import { createClientFromRequest } from 'npm:@base44/sdk@0.5.0';

const base44 = createClientFromRequest(req);
const user = await base44.auth.me(); // Auth check
await base44.asServiceRole.entities.Entity.operation(); // Admin ops

// Frontend API Calls Pattern  
const response = await fetch('/functions/functionName', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  credentials: 'include', // Important for auth
  body: JSON.stringify(data)
});

Data Flow Architecture

Upload Flow

Track Upload
Metadata Extraction
Artist Auto-Detection
Royalty Assignment

Playback Flow

User Plays Track
Audio URL Fallback
Interaction Tracking
Analytics Update

Admin Flow

Admin Login
Preview Operations
Execute Bulk Actions
System Maintenance

Usage Instructions

For Admins

  1. 1. Sign in with admin account
  2. 2. Access Control Center for artist management
  3. 3. Use Upload page for content management
  4. 4. Preview before executing bulk operations
  5. 5. Monitor system through Analytics Dashboard

For Users

  1. 1. Browse and play music freely
  2. 2. Like and interact with tracks
  3. 3. Purchase music through integrated store
  4. 4. Subscribe for updates and newsletters
  5. 5. Access PWA features for mobile experience