![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/soundstudiopro.com/public_html/ |
# 🚀 SoundStudioPro - Quick Reference Guide
**Quick lookup for developers**
---
## 📁 **Key File Locations**
### **Entry Points**
- `index.php` - Homepage
- `library.php` - User library (main interface)
- `admin.php` - Admin panel
- `create_music.php` - Music creation
- `community.php` - Community feed
- `track.php` - Track page
- `profile.php` - User profile
### **Configuration**
- `config/database.php` - Database connection & schema
- `config/email.php` - Email settings
- `config/api_box.php` - API.Box integration
- `includes/security.php` - Security functions
- `includes/header.php` - Site header
- `includes/footer.php` - Site footer
### **API Endpoints** (`api/` directory)
- `get_user_tracks.php` - Get user's tracks
- `get_track_data.php` - Track details
- `update_track.php` - Update track
- `purchase_track.php` - Purchase track
- `add_to_cart.php` - Add to cart
- `toggle_like.php` - Like/unlike
- `add_comment.php` - Add comment
- `record_play.php` - Track play
- `get_audio_token.php` - Signed audio URL
---
## 🗄️ **Database Tables (Quick Reference)**
### **Core Tables**
- `users` - User accounts
- `user_profiles` - Extended profiles
- `music_tracks` - Main track table
- `audio_variations` - Track variations
- `track_purchases` - Purchases
- `credit_transactions` - Credit usage
- `user_subscriptions` - Subscriptions
### **Social Tables**
- `track_likes` - Likes
- `track_comments` - Comments
- `user_follows` - Follows
- `track_plays` - Play counts
### **Admin Tables**
- `admin_logs` - Admin actions
- `site_settings` - Global settings
- `security_events` - Security logs
---
## 🔧 **Common Functions**
### **Database**
```php
getDBConnection() // Get PDO connection
getUserById($id) // Get user by ID
createMusicTrack(...) // Create track
updateMusicTrack(...) // Update track
```
### **Security**
```php
validateAdminAccess() // Check admin access
checkRateLimit(...) // Rate limiting
secureSession() // Secure session
```
### **Audio**
```php
generateAudioToken($url) // Generate signed URL
```
---
## 🎵 **Music Types**
- `music` - Standard music generation
- `lyrics` - Lyrics generation
- `wav` - WAV conversion
- `vocal-removal` - Remove vocals
- `music-video` - Music video
- `extend` - Extend track
- `stem-separation` - Stem separation
---
## 💰 **Pricing Tiers**
- `0.00` - Free
- `0.99` - $0.99
- `1.99` - $1.99
- `2.99` - $2.99
---
## 👤 **User Plans**
- `free` - Free plan (5 credits)
- `starter` - Starter plan
- `pro` - Pro plan
---
## 🔐 **Session Variables**
- `$_SESSION['user_id']` - Current user ID
- `$_SESSION['credits']` - User credits
- `$_SESSION['is_admin']` - Admin flag
- `$_SESSION['is_impersonating']` - Admin impersonation
- `$_SESSION['profile_image']` - Profile image URL
---
## 📊 **Track Status**
- `processing` - Track being generated
- `complete` - Track ready
- `failed` - Generation failed
---
## 🎨 **Common CSS Classes**
- `.admin-panel` - Admin panel container
- `.tab-content` - Tab content area
- `.btn-primary` - Primary button
- `.stat-card` - Statistics card
- `.data-table` - Data table
---
## 🔄 **AJAX Navigation**
```javascript
window.ajaxNavigation.navigateToPage(url)
```
---
## 📝 **Admin Tabs**
- `dashboard` - Dashboard
- `users` - User management
- `tracks` - Track management
- `playlists` - Playlist management
- `analytics` - Analytics
- `payment` - Payment management
- `purchases` - Purchases & sales
- `subscriptions` - Subscription management
- `settings` - Settings
- `api` - API management
---
## 🚨 **Error Handling**
- Check `error_log()` for PHP errors
- Check browser console for JS errors
- Check `security_events` table for security issues
- Check `email_logs` for email issues
---
## 🔗 **External Integrations**
- **API.Box** - Music generation API
- **Stripe** - Payment processing
- **PHPMailer** - Email sending
---
## 📧 **Email Types**
- `welcome` - Welcome email
- `password_reset` - Password reset
- `purchase_confirmation` - Purchase confirmation
- `subscription_notification` - Subscription update
- `credit_expiration` - Credit expiration warning
---
## 🎯 **Common Tasks**
### **Add New Track Field**
1. Add column to `music_tracks` table
2. Update `createMusicTrack()` function
3. Update `updateMusicTrack()` function
4. Update track display pages
### **Add New API Endpoint**
1. Create file in `api/` directory
2. Include security checks
3. Return JSON response
4. Add to API documentation
### **Add Admin Tab**
1. Add tab link in `admin.php`
2. Create include file in `admin_includes/`
3. Add tab content handler
---
## ⚡ **Performance Tips**
- Use indexes on frequently queried columns
- Cache frequently accessed data
- Use prepared statements
- Limit query results with pagination
- Optimize images before upload
---
## 🐛 **Debugging**
### **Enable Debug Mode**
```php
define('DEVELOPMENT_MODE', true);
error_reporting(E_ALL);
ini_set('display_errors', 1);
```
### **Check Logs**
- PHP error log: `error_log()`
- Database queries: Enable query logging
- API calls: Check `api_logs` table
- Security: Check `security_events` table
---
## 📱 **Mobile Responsiveness**
- Uses CSS media queries
- Mobile tab selector in admin
- Responsive grid layouts
- Touch-friendly buttons (min 44px)
---
## 🌍 **Multi-language**
```php
getCurrentLanguage() // Get current language
translate($key) // Translate string
```
Languages: `en`, `fr`
---
## ✅ **Quick Checklist for New Features**
- [ ] Database schema updated
- [ ] Security checks added
- [ ] Input validation
- [ ] Error handling
- [ ] API endpoint (if needed)
- [ ] Admin interface (if needed)
- [ ] Mobile responsive
- [ ] Translation strings added
- [ ] Error logging
- [ ] Documentation updated
---
**Last Updated:** 2025-01-27