A full-featured plugin marketplace with user authentication, admin portal, and plugin management system. Built with PHP, MySQL, and vanilla JavaScript.
→ See QUICK_START.md for the 3-step fix!
Or use the web-based setup tool: Just visit https://your-domain.com/setup.php in your browser
- QUICK_START.md - Start here! 3 easy steps (5 minutes)
- HOW_TO_RUN_ON_HOSTINGER.md - Multiple setup methods
- FIX_LOGIN.md - Detailed troubleshooting
- SETUP_GUIDE.md - Complete configuration guide
- User signup/login with JWT tokens
- Password reset with email verification
- Role-based access control (Admin/User)
- Secure password hashing with bcrypt
- Browse and search plugins
- Filter by category
- Real-time search
- Plugin details and downloads
- Download tracking
- Elgato-style modern UI
- Dashboard with statistics
- Approve/reject plugin submissions
- Feature plugins
- User management
- Role management
- Plugin and user deletion
- PHP 7.4 or higher
- MySQL 5.7+ or MariaDB 10.3+
- Apache or Nginx web server
- PHP extensions: mysqli, json, mbstring
1. Create MySQL database:
CREATE DATABASE mixlar_marketplace CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;2. Import database schema:
mysql -u your_user -p mixlar_marketplace < sql/schema.sql3. Configure config/config.php:
define('DB_HOST', 'localhost');
define('DB_USER', 'your_database_user');
define('DB_PASS', 'your_database_password');
define('DB_NAME', 'mixlar_marketplace');
define('JWT_SECRET', 'change_this_secret_key');
define('SITE_URL', 'http://yoursite.com');4. (Optional) Seed initial data:
php sql/seed.php5. Access the site:
- Marketplace: http://yoursite.com/frontend/public/
- Admin: http://yoursite.com/frontend/public/admin.html
- Email: admin@mixlarlabs.com
- Password: admin123
/plugins
├── api/ # PHP API endpoints
├── config/ # Configuration
├── includes/ # PHP classes (Database, Auth, JWT, Email)
├── frontend/public/ # HTML, CSS, JS
├── sql/ # Database schema & seed
└── list.json # Initial plugin data
- Copy folder to
htdocs/plugins/ - Start Apache and MySQL
- Import
sql/schema.sqlvia phpMyAdmin - Edit
config/config.php - Access: http://localhost/plugins/frontend/public/
- Copy to
www/plugins/ - Same steps as XAMPP
- Copy to
htdocs/plugins/ - Same steps as XAMPP
- Upload via FTP to
public_html/ - Create database via cPanel
- Import schema via phpMyAdmin
- Update
config/config.phpwith cPanel database credentials
sudo cp -r plugins /var/www/html/
sudo chown -R www-data:www-data /var/www/html/plugins
# Import SQL, configure config.phpAdd to nginx config:
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php-fpm.sock;
include fastcgi_params;
}- POST
/api/auth/signup.php - POST
/api/auth/login.php - POST
/api/auth/forgot-password.php - POST
/api/auth/reset-password.php
- GET
/api/plugins/list.php - GET
/api/plugins/get.php?id=X - POST
/api/plugins/create.php(auth required)
- GET
/api/admin/stats.php - GET
/api/admin/plugins.php - PUT
/api/admin/approve.php?id=X - PUT
/api/admin/reject.php?id=X - DELETE
/api/admin/delete-plugin.php?id=X
See full API documentation in the detailed README sections above.
Database Connection Error:
- Check credentials in
config/config.php - Verify MySQL is running
- Ensure database exists
404 on API calls:
- Verify
.htaccessexists - Enable mod_rewrite (Apache)
- Check file permissions
Blank pages:
- Enable error reporting in
config/config.php - Check PHP error logs
Copyright © 2024 MixlarLabs. All rights reserved.