A comprehensive web platform for Mac Mini M4 users to discover, request, and download premium macOS applications optimized for Apple Silicon M4 chip performance.
- ๐๏ธ Software Catalog: Curated collection of Mac M4 compatible software
- ๐ณ Multi-Payment Donation System: Support via PipraPay and UddoktaPay
- ๐ Software Request System: Users can request specific software
- ๐ Top Donors Recognition: Showcase top contributors on homepage
- ๐ฑ Responsive Design: Mobile-friendly interface
- ๐ Admin Panel: Complete administration system
- Dual Gateway Support: PipraPay and UddoktaPay integration
- Smart Fallback: Automatic switching to available payment methods
- Development Mode: Local testing without real API calls
- Transaction Management: Complete donation tracking and verification
- Admin Controls: Enable/disable payment methods, edit API settings
- Donation Dashboard: View, edit, and delete transaction records
- Payment Method Management: Configure API keys and toggle payment gateways
- Contact Management: Handle user inquiries and feedback
- Request Management: Process software requests from users
- User Authentication: Secure admin login system
- Frontend: HTML5, CSS3, JavaScript (Vanilla)
- Backend: PHP 8.0+
- Database: MySQL 8.0+
- Payment APIs: PipraPay, UddoktaPay
- Development: Laravel Herd (local), DBngin (database)
- PHP 8.0 or higher
- MySQL 8.0 or higher
- Web server (Apache/Nginx)
- cURL extension enabled
- JSON extension enabled
-
Clone the repository
git clone https://github.com/yourusername/mac-mini-m4.git cd mac-mini-m4 -
Database Setup
- Create a MySQL database named
mac_software - Import the database structure:
mysql -u root -p mac_software < database_backup.sql - Create a MySQL database named
-
Environment Configuration Create a
.envfile in the project root:DB_HOST=127.0.0.1 DB_DATABASE=mac_software DB_USERNAME=root DB_PASSWORD= DB_PORT=3306 # PipraPay Configuration PIPRAPAY_API_KEY=your_piprapay_api_key PIPRAPAY_BASE_URL=https://payment.webservicebd.com/api PIPRAPAY_ENABLED=true # UddoktaPay Configuration UDDOKTAPAY_API_KEY=your_uddoktapay_api_key UDDOKTAPAY_BASE_URL=https://pay.webservicebd.com/api UDDOKTAPAY_ENABLED=true
-
Admin Setup
- Access
/admin/setup-donations.phpto create admin user - Configure payment settings in admin panel
- Access
-
Local Server
- Use Laravel Herd: Access via
https://mac-mini-m4.test - Or use PHP built-in server:
php -S localhost:8000
- Use Laravel Herd: Access via
CREATE TABLE donations (
id INT AUTO_INCREMENT PRIMARY KEY,
reference_id VARCHAR(100) UNIQUE NOT NULL,
payment_id VARCHAR(100),
amount DECIMAL(10,2) NOT NULL,
currency VARCHAR(3) DEFAULT 'BDT',
payment_method VARCHAR(50) DEFAULT 'unknown',
transaction_id VARCHAR(255),
metadata TEXT,
donor_name VARCHAR(100) NOT NULL,
donor_email VARCHAR(150),
donor_phone VARCHAR(20),
message TEXT,
status ENUM('pending','completed','failed','cancelled') DEFAULT 'pending',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
verified_at TIMESTAMP NULL
);CREATE TABLE admin_users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);CREATE TABLE software_requests (
id INT AUTO_INCREMENT PRIMARY KEY,
software_name VARCHAR(255) NOT NULL,
software_version VARCHAR(50),
additional_info TEXT,
visitor_email VARCHAR(150) NOT NULL,
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status ENUM('pending','completed','rejected') DEFAULT 'pending',
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);CREATE TABLE contact_messages (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(150) NOT NULL,
message TEXT NOT NULL,
date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);POST /api/donate-multi.php- Process donations with multiple payment methodsGET /api/get-payment-methods.php- Retrieve available payment methodsGET /api/get-top-donors.php- Fetch top 5 donors for homepage displayPOST /api/verify-donation.php- Verify payment status
POST /admin/process_request.php- Handle software requestsPOST /admin/process_contact.php- Process contact form submissions
POST /admin/donation-dashboard.php- Manage donations (CRUD operations)POST /admin/manage-payment-methods.php- Configure payment settings
index.html- Homepage with software catalog and top donorsdonate.html- Donation form with payment method selectioncontact-us.html- Contact form for user inquiriesdmca.html- DMCA takedown policyterms-of-service.html- Terms of serviceprivacy-policy.html- Privacy policy
admin/login.php- Admin authenticationadmin/dashboard.php- Main admin dashboardadmin/donation-dashboard.php- Donation managementadmin/manage-payment-methods.php- Payment configuration
- Obtain API key from PipraPay
- Configure in admin panel or environment file
- Set webhook URL:
/api/webhook-piprapay.php
- Get API credentials from UddoktaPay
- Update configuration in admin settings
- Webhook endpoint:
/api/webhook-uddoktapay.php
The system automatically detects local development environments and simulates payments:
- Domains:
localhost,127.0.0.1,*.local - Excluded:
mac-mini-m4.test(for real API testing) - Test donations redirect to success page with test parameters
- SQL Injection Protection: Prepared statements for all queries
- XSS Prevention: HTML escaping for user inputs
- Admin Authentication: Secure login with bcrypt password hashing
- Input Validation: Server-side validation for all forms
- CSRF Protection: Form token validation (recommended to implement)
The website is fully responsive with:
- Mobile-first design approach
- Touch-friendly interface elements
- Responsive grid layouts
- Mobile navigation menu
- Optimized images and assets
- Automatic test mode detection for
*.testdomains - Simulated payment responses
- Test donation tracking
- Development logging
- No real API charges during testing
Read more: Development Mode Documentation
mac-mini-m4/
โโโ admin/ # Admin panel files
โ โโโ dashboard.php
โ โโโ donation-dashboard.php
โ โโโ manage-payment-methods.php
โ โโโ ...
โโโ api/ # API endpoints
โ โโโ donate-multi.php
โ โโโ get-top-donors.php
โ โโโ PipraPay.php
โ โโโ UddoktaPay.php
โ โโโ ...
โโโ config/ # Configuration files
โ โโโ db_config.php
โ โโโ donation_config.php
โ โโโ ...
โโโ images/ # Software images and assets
โโโ logs/ # Application logs
โโโ utils/ # Utility scripts
โโโ index.html # Homepage
โโโ donate.html # Donation page
โโโ README.md
Access admin panel โ Payment Methods to configure:
- API keys for each payment gateway
- Enable/disable payment methods
- Test payment settings
- Minimum donation amount
- Currency settings (default: BDT)
- Success/cancel redirect URLs
- Webhook configurations
logs/donations.log- All donation attemptslogs/donation_errors.log- Payment errors and issueslogs/admin_actions.log- Admin panel activitieslogs/php_error.log- PHP errors and warnings
- Real-time donation tracking
- Payment method availability
- Error rate monitoring
- Admin activity logging
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Commit changes:
git commit -am 'Add feature' - Push to branch:
git push origin feature-name - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
Educational Purpose: This software is shared purely for educational purposes. Please consider purchasing software to support developers. The repository creator does not host or store copyrighted software and found these resources online for learning purposes only.
- Website: https://mac-mini-m4.test (local development)
- Email: rabbi@solveez.com
- Issues: GitHub Issues
The homepage showcases top donors who support the project. Become a contributor by:
- Making donations through the platform
- Contributing to the codebase
- Reporting bugs and suggesting improvements
- ๐ฏ Multi-Payment Gateway: Added UddoktaPay alongside PipraPay
- ๐ Homepage Redesign: Two-column layout with top donors showcase
- ๐ฑ Phone Number Field: Added optional phone collection in donation form
- โ Required Fields: Made donor name and email mandatory
- ๐ง Admin Enhancements:
- Edit donation status functionality
- Delete transaction records
- Payment method toggle controls
- Real-time payment gateway configuration
- ๐งช Development Mode: Smart local testing without API charges
- ๐ Top Donors Display: Homepage recognition for contributors
- ๐ Enhanced Security: Improved validation and error handling
- Fixed PipraPay API endpoint URL issues
- Resolved local development detection problems
- Improved mobile responsiveness
- Enhanced error messages and user feedback
- Database schema updates for phone numbers
- Admin action logging system
- Improved AJAX error handling
- Better responsive design implementation
- Code optimization and cleanup
- Active Payment Methods: 1 (PipraPay)
- Supported Software: 27 applications
- Total Donors: 7+ registered donors
- Admin Features: 15+ management tools
- Software auto-update notifications
- User account system
- Advanced donation analytics
- Email newsletter integration
- Mobile app development
- Multi-language support
Made with โค๏ธ for the Mac M4 community