BeatCore Documentation

Setup and management guide for your beat store.

Quick Start — Tutorial Video
YOUTUBE
Backend
PHP 8.2+ Laravel 12 Livewire 3 Inertia.js 2 Filament 3 MySQL 5.7+
Frontend
Vue 3 Tailwind CSS 4 Alpine.js 3 Vite 7 Heroicons
Payments & APIs
Stripe PHP 19 PayPal REST API Laravel Socialite 5
Support
For any questions or issues, reach us at beatstore.lab@gmail.com — we respond within 24 hours.

Requirements

Verify your hosting meets all of these before uploading files.

PHP 8.2 or higher
Check in cPanel → PHP Version Selector
MySQL 5.7 or higher
Available on all shared hosting plans
Apache or Nginx
Standard on all cPanel and VPS plans
Writable storage folder
Set permissions to 755 or 775
SSL certificate (HTTPS)
Free via Let's Encrypt in cPanel
500 MB disk space minimum
More recommended for audio files

Most shared hosting plans meet all requirements. If unsure, ask your host whether PHP 8.2 and MySQL are available.

Not sure about your hosting?
Email us at beatstore.lab@gmail.com and we’ll help you check compatibility.

Installation

Before running the installer, create a MySQL database. This is the only manual step.

1. Create a MySQL database in cPanel

1
Open MySQL Databases
In your cPanel, go to MySQL Databases and create a new database (e.g. mystore_db).
2
Create a database user
Create a new user with a strong password. Then add that user to the database and grant All Privileges.
3
Note your credentials
Write down: Database name, Username, Password. You'll need them in the installer.

2. Upload and run

1
Upload files
Extract the ZIP and upload all contents to public_html via cPanel File Manager or FTP.
2
Open the installer
Navigate to https://yourdomain.com/install.php — the wizard starts automatically.
Installation issues?
Contact us at beatstore.lab@gmail.com with your error message and we’ll sort it out.

Setup Wizard

The wizard runs at /install.php and completes in under 2 minutes. It guides you through 4 sequential steps.

1
Server Requirements
The installer automatically checks PHP ≥ 8.2 and required extensions (PDO MySQL, Mbstring, OpenSSL, cURL, Tokenizer, FileInfo, ZIP) plus write permissions on storage/ and bootstrap/cache/. No input needed — all checks must be green before you can proceed.
2
License Key
Enter your purchase code (format: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). The installer contacts the BeatCore license server to activate the license for your domain. One code binds to one domain — to move it, deactivate it first from Admin → License.
3
Database Setup
Enter your MySQL credentials: Host (usually localhost), Port (default 3306), Database name, Username, and Password. The installer creates the database if it doesn’t exist, then tests the connection before proceeding.
4
Configure & Install
Enter your Store name (shown in the tab title, header, and emails) and Timezone. Click Install — the wizard generates .env, imports the full production SQL schema (default licenses, payment methods, genres, and FAQs), creates an install lock file, permanently removes install.php, and redirects you to /admin.

When the wizard finishes, it removes install.php automatically. You are redirected directly to the admin panel.

Setup Wizard steps
Stuck on setup?
If the wizard fails or shows an error, email beatstore.lab@gmail.com with a screenshot.

Email / SMTP

BeatCore sends purchase receipts, password resets, and notifications via email. Go to Admin Panel → Email / SMTP to configure your mail provider.

Admin Panel → Email / SMTP

Recommended: Gmail

1
Enable 2-factor on your Google account
Go to myaccount.google.com/security and enable 2-Step Verification.
2
Create an App Password
In Google account → Security → App Passwords, generate a 16-character password for "Mail".
3
Enter in BeatCore
Host: smtp.gmail.com, Port: 587, Encryption: TLS, Username: your Gmail address, Password: the 16-char app password.
4
Send a test email
Click Send Test Email to confirm delivery before going live.
ProviderHostPortEncryption
Gmailsmtp.gmail.com587TLS
Outlooksmtp-mail.outlook.com587TLS
SendGridsmtp.sendgrid.net587TLS
cPanel Mailyour domain465SSL
Admin Panel — Email / SMTP configuration
Emails not sending?
Double-check your app password, then email beatstore.lab@gmail.com if the test email still fails.

Payment Gateways

Admin Panel → Payments. You can enable multiple gateways simultaneously.

PayPal

Get your keys at developer.paypal.com → My Apps & Credentials → Create App.

Client ID
Paste from PayPal Developer — identifies your app
Client Secret
Keep private — never share or commit to code
Webhook URL Optional
https://yourdomain.com/webhooks/paypal

Stripe

Get your keys at dashboard.stripe.com → Developers → API keys.

Publishable Key
Starts with pk_live_ — safe to expose on the frontend
Secret Key
Starts with sk_live_ — keep private, used server-side only
Webhook Secret Optional
From Stripe → Webhooks → add endpoint https://yourdomain.com/webhooks/stripe

Bank Transfer

No API keys needed. Enter your bank account details — they are shown to the customer at checkout. Orders must be approved manually after you confirm the payment.

Admin Panel — Payment Gateways
Payment not working?
Verify your API keys are for live mode (not sandbox), then contact beatstore.lab@gmail.com.

Social Login

Allow customers to sign in using Google or Facebook instead of creating a password. Configured in Admin Panel → Store Profile → Settings tab.

Google OAuth

1
Create a Google Cloud project
Go to console.cloud.google.com, create a project, and enable the Google+ API.
2
Create OAuth credentials
Go to Credentials → Create → OAuth Client ID → Web application. Add your domain to Authorized redirect URIs: https://yourdomain.com/auth/google/callback
3
Paste into BeatCore
Copy the Client ID and Client Secret into Admin → Store Profile → Settings → Google Login.

Facebook Login works the same way. Create a Facebook App at developers.facebook.com, add "Facebook Login" product, and paste the App ID and Secret into BeatCore.

OAuth redirect errors?
Make sure your callback URL is exact. If it still fails, email beatstore.lab@gmail.com.

Genres

Genres are the music categories that customers use to filter beats in your store. Admin Panel → Genres

BeatCore includes 10 default genres: Hip Hop, Trap, R&B, Pop, EDM, Drill, Lo-Fi, Afrobeat, Latin, Reggaeton. You can edit, delete, or add more at any time.

Create a genre

1
Click "Add Genre"
The button is at the top right of the Genres page.
2
Fill in the details
Name (e.g. "Trap"), optional genre image, sort order (controls display order), and Active toggle.
3
Save
The genre appears immediately in the storefront filter bar and in the beat upload form.
Admin Panel — Genres

Licenses

Licenses define the pricing tiers for purchasing your beats, including what files the buyer receives and what usage rights they get. Admin Panel → Licenses

Tier 1
Basic
$29.99
MP3
Tier 2
Premium
$49.99
MP3 WAV
Tier 3
Exclusive
$299.99
MP3 WAV STEMS

These are default prices. When uploading a beat, you can set a different price for each license tier on that specific beat.

Create a custom license tier

1
Click "Add License"
Opens the license creation form.
2
Set name, price, and included files
Choose which files (MP3, WAV, STEMS) buyers receive. Toggle "Is Exclusive" if buying this license removes the beat from sale.
3
Save
The new tier is immediately available when uploading or editing beats.
Admin Panel — Licenses

Beats

Beats are your main product. Upload them at Admin Panel → Beats → Add Beat. The upload form has 3 steps.

Step 1 — Basic Info

Title Required
Name shown on the store and in emails.
Genre Required
Select from your genre list.
BPM
Tempo of the beat (e.g. 140). Helps buyers filter by feel.
Key
Musical key (e.g. C Minor). Helps producers find compatible beats.
Tags
Keywords customers can search for (e.g. dark, melodic, drill).
Cover Image
1000×1000 px JPG/PNG — shown on the beat card in the store.
Status
Published, Draft, or Coming Soon.
Beat Upload — Step 1: Basic Info

Step 2 — Audio Files

Preview MP3
Public
Streamed in the store player — use a tagged/watermarked version. Required.
MP3 (lease)
Basic
Full-quality MP3 delivered to Basic license buyers after purchase.
WAV
Premium
Studio-quality WAV file for Premium license buyers.
Stems ZIP
Exclusive
Individual track stems (drums, melody, 808s etc.) for Exclusive buyers.

Only the Preview MP3 is public. Full files are locked behind secure, expiring download links generated after purchase.

Beat Upload — Step 2: Audio Files

Step 3 — License Pricing

For each license tier, you can leave the price blank (uses global default) or enter a custom price for this specific beat. This is how you charge more for popular beats.

Beat Upload — Step 3: License Pricing

Sample Packs

Sell downloadable ZIP files — drum kits, loop packs, preset banks. Admin Panel → Sample Packs

Title
Pack name shown in the store.
Price
Purchase price for the full pack.
Cover Image
Pack artwork — 1000×1000 px recommended.
Preview Audio
Short teaser customers can play before buying.
ZIP File
The downloadable files customers receive after purchase.
Featured
Adds a "Featured" badge and pins the pack to the top of the listing.
Admin Panel — Sample Packs

Coupons

Create discount codes for promotions. Admin Panel → Coupons

Code
e.g. SUMMER30 — customers enter this at checkout.
Discount Type
Percentage (%) or fixed dollar amount off the cart total.
Value
30 for 30% off, or 10 for $10 off.
Minimum Order
Cart must reach this amount before the code can be applied.
Max Uses
Total number of times the code can be redeemed.
Expires At
Optional — code auto-deactivates after this date.

Use the Generate Code button when creating a coupon to auto-create a random alphanumeric code.

Admin Panel — Coupons

Store Profile

Your central settings hub. Navigate to Admin Panel → Store Profile (/admin/store) to configure your brand, appearance, checkout behavior, page content, and SEO — all in one place across 5 tabs.

Brand
Store name, logo, meta description for SEO, and contact email. Name appears in the browser tab, header, and emails.
Appearance
Primary color, background image or video, hero text, CTA button label. Changes preview live in the editor.
Settings
Google Analytics ID, Social Login (Google/Facebook), maintenance mode, cart timeout, and other behavior toggles.
Pages
Rich-text editor for Terms of Service, Privacy Policy, Refund Policy, and About page content shown to customers.
SEO
Meta title, description, and per-page keywords for the homepage, beats catalog, and sample packs. Live SERP preview built in.

Brand & Identity

FieldDescription
Store Name  producer_nameAppears in the page title, header, and purchase emails. Single source of truth — store_name is kept in sync automatically.
TaglineShort phrase displayed under the store name in the hero section.
LogoPNG or SVG recommended. Used in the header. Saving a new logo auto-generates PWA icons at 192×192 and 512×512.
FaviconIcon shown in the browser tab. Accepts PNG, SVG, or ICO.
Producer ImageYour photo shown in the About section of the homepage.
Contact EmailDisplayed in the footer and used as the default Reply-To address on outgoing emails.
Phone / AddressOptional contact details shown in the store footer.
Social LinksInstagram, YouTube, Twitter/X, Spotify, SoundCloud, TikTok — paste the full profile URL. Icons appear in the footer.

Appearance

FieldDefaultDescription
Primary Color#9333eaMain accent used for buttons, links, and highlights. Accepts any HEX value.
Secondary / Accent Colors#3b82f6 / #ec4899Used for hover states, badges, and secondary UI elements.
Background Color#0a0a0aPage background color.
Text Color#ffffffMain body text color.
Font (Body / Headings)PoppinsGoogle Font name used for body text and h1–h3 headings respectively.
Default Beats ViewGridDisplay layout for the beats catalog: Grid or List. Set independently for desktop and mobile.

Settings

SettingDescription
Guest CheckoutAllow purchases without an account. Recommended ON — disabling it significantly reduces conversions.
Require RegistrationForces buyers to create an account before checkout. Automatically synced when Guest Checkout is toggled.
Email VerificationSends a verification link before buyers can access their download links.
Allow Account DeletionLets registered users delete their own account from the profile page.
Google LoginOAuth sign-in with Google. Requires a Google Cloud client_id and client_secret.
Facebook LoginOAuth sign-in with Facebook. Requires a Facebook App client_id and client_secret.
Cookie Consent BannerShows a GDPR cookie notice to first-time visitors.
Visual Text EditorEnables inline rich-text editing on public-facing pages (About, Terms, etc.).
PWATurns the store into a Progressive Web App. Configure: app name, short name, description, and theme color. Requires a logo upload to generate icons.
Currency / TimezoneCurrency code used in prices (e.g. USD) and timezone used for order timestamps.
Footer SectionsShow or hide individual footer links: Genres, Pricing, FAQ, Contact, About, Privacy, Terms, Refund Policy, License Info.

Pages

PageFields
AboutTitle, subtitle, and bio text shown in the homepage About section.
FAQSection heading and subtitle. Individual Q&A items are managed via Admin → FAQs.
Terms of ServiceTitle and body content served at /terms.
Privacy PolicyTitle and body content served at /privacy.
Refund PolicyTitle and body content served at /refund.

SEO

Controls how your storefront appears in Google search results. A live SERP preview updates as you type. Breadcrumb structured data is injected automatically on all pages.

Google uses title (≤ 60 chars) and description (≤ 160 chars) in search results. Keeping both inside the limit prevents truncation or rewriting.

FieldLimitDescription
Meta Title60 charsThe clickable headline in Google results. Empty → defaults to Store Name — Tagline.
Meta Description160 charsThe snippet shown below the title in search results. Write a natural sentence with your main keywords.
KeywordsSite-wide fallback keywords. Add by pressing Enter or ,. Used as a meta keyword fallback across all pages.
Beats Catalog — Description160 charsCustom meta description for /beats, shown when buyers find your catalog on Google.
Beats Catalog — KeywordsKeywords specific to /beats.
Sample Packs — Description160 charsMeta description for /sample-packs.
Sample Packs — KeywordsKeywords specific to /sample-packs.
Admin Panel — Store Profile

Checkout

Configure checkout behavior from Admin Panel → Settings → Checkout.

Guest Checkout
Recommended: ON
Allows purchase without creating an account. Leaving this ON significantly increases conversion — buyers can check out in seconds.
Auto-Create Account
When enabled, guest buyers automatically get an account created using their email. They receive login credentials via email after purchase.

Orders

View and manage all purchases at Admin Panel → Orders.

Completed
Payment confirmed and download links sent to the buyer's email.
Pending
Payment not yet confirmed. Bank Transfer orders start here until you manually approve them.
Cancelled
Order voided — no download access granted.
Refunded
Payment returned to the buyer. Download access is revoked.

Key actions

View order details Approve pending (Bank Transfer) Resend download email Cancel or refund order Export to CSV
Admin Panel — Orders

Users

Manage registered customers from Admin Panel → Users.

View Profile
Click a user row to see their order history and account details.
Ban User
Blocks login and prevents future purchases without deleting their data.
Unban
Re-enables login access for a previously banned account.
Delete
Permanently removes the account — irreversible.
Filter by Role
Dropdown to show only Admins or Customers.
Export CSV
Download the email list for use with external marketing tools.
Admin Panel — Users

Dashboard

Your overview at a glance. Admin Panel → Dashboard shows the health of your store.

Revenue
Total revenue for today, this week, and this month. Revenue chart shows daily trend for the past 30 days.
Orders
Count of completed, pending, and cancelled orders. Includes a list of the 5 most recent orders at a glance.
Customers
Total registered users. New accounts this month and recently joined customers.
Top Beats
The 5 best-selling beats by revenue, with license breakdown per beat.
Admin Panel — Dashboard

Admin Panel Reference

All admin sections and what they do.

Dashboard
/admin/dashboard
Revenue, orders, and store activity overview.
Beats
/admin/beats
Add, edit, and delete beats. Set genre, BPM, files, and license prices.
Sample Packs
/admin/samplepacks
Sell ZIP file bundles — drum kits, sample libraries, preset bank.
Genres
/admin/genres
Add or edit music categories used to filter beats in the store.
Licenses
/admin/licenses
Define pricing tiers — what files buyers get and at what price.
Orders
/admin/orders
All purchase history. Approve, refund, cancel, or resend download links.
Users
/admin/users
Registered customers. Ban/unban, view profiles, export email list.
Coupons
/admin/coupons
Create discount codes with % or fixed amount, expiry, and usage limits.
Payments
/admin/payment
Enable PayPal, Stripe, or Bank Transfer. Configure API keys and modes.
SMTP Email
/admin/settings/smtp
Send receipts and downloads via Gmail, Outlook, Mailgun, or cPanel.
Store Profile
/admin/store
Branding, appearance, settings, and static page content for your store.
Pages
/admin/pages
Terms, Privacy Policy, License Agreement, About, and FAQ pages.
Plugins
/admin/plugins
Install and configure BeatCore plugins like Cart Recovery and Voice Tag.
License
/admin/license
View and activate your BeatCore license key. Required for updates.
Updates
/admin/updates
Check for and apply BeatCore version updates. Reads from update server.

Cart Recovery Plugin

This is an optional paid plugin. Install it from Admin Panel → Plugins by uploading the plugin ZIP file.

Cart Recovery automatically emails customers who added beats to their cart but didn't complete the purchase. It waits a configurable amount of time, then sends a reminder with a direct link back to the cart.

Install

1
Go to Admin Panel → Plugins
Click "Upload Plugin" and select the cart-recovery.zip file you received with your purchase.
2
Activate
After upload, the plugin appears in the list. Click Activate.
3
Configure
Click Settings next to Cart Recovery.

Settings

SettingDescription
Enable PluginMaster ON/OFF switch
Delay (minutes)How long to wait after cart abandonment before sending the email. Default: 60 minutes.
Email SubjectSubject line of the recovery email. Supports {{store_name}} placeholder.
Email BodyHTML or text body. Supports {{customer_name}}, {{cart_url}}, {{cart_items}} placeholders.

Use the Send Test Email button to preview the recovery email before it goes live. Make sure SMTP is configured first.

Cart Recovery — Settings
Plugin not working?
Make sure SMTP is configured first. For other issues contact beatstore.lab@gmail.com.

Voice Tag Plugin

This is an optional paid plugin. Install it from Admin Panel → Plugins by uploading the plugin ZIP file.

Voice Tag automatically overlays an audio tag (e.g. "Produced by YourName") on beat preview files. This brand-protects your work so customers can't use untagged previews without purchasing.

Requirements

FFmpeg must be installed on your server. Voice Tag uses FFmpeg to mix audio. Most VPS providers support this. Shared hosting may not. Contact your host and ask: "Can I install FFmpeg via PHP exec()?"

Install

1
Go to Admin Panel → Plugins
Upload voice-tag.zip and click Activate.
2
Upload your tag audio
In Voice Tag Settings, upload an MP3 file — your recorded tag (2–3 seconds is ideal).
3
Set tag placement
Choose where in the preview the tag plays: Beginning, End, Every 30 seconds, or Random intervals.
4
Apply to existing beats
Click "Re-tag All Beats" to re-process previews already uploaded.

Settings

SettingDescription
Tag Audio FileYour voice tag MP3 (e.g. "Produced by BeatMaker")
Tag VolumeVolume of the tag relative to the beat (0–100)
PlacementBeginning / End / Every N seconds / Random
Apply to New BeatsAutomatically tags any newly uploaded beat preview
Voice Tag — Settings
FFmpeg issues?
Ask your host if PHP can run exec() with FFmpeg. For help email beatstore.lab@gmail.com.