Files
Krystie 092a8bc7ce refactor: organize codebase and remove redundant files
- Removed all backup/duplicate files
- Removed test files from root
- Consolidated documentation to /docs/
- Moved scripts to /scripts/
- Renamed f_* directories (removed prefix)
- Organized icons and assets
- Removed unused vendor directories
- Cleaned up redundant config files
2026-03-30 16:34:45 -07:00

83 lines
2.1 KiB
Markdown

# EasyStream Donations Module
A comprehensive donation system for EasyStream with Square integration, analytics, goals, and notifications.
## Structure
```
m_donations/
├── src/ # Source code
│ ├── Core/ # Core functionality
│ ├── Handlers/ # Business logic
│ ├── Models/ # Data models
│ └── Utils/ # Utilities
├── config/ # Configuration
├── sql/ # Database schemas
├── public/ # Public files
├── views/ # Templates
└── assets/ # Static assets
├── css/ # Styles
├── js/ # Scripts
└── img/ # Images
```
## Features
- Square payment integration
- Donation goals and milestones
- Real-time analytics
- Notification system
- RESTful API
- Rate limiting
- Security features
## Installation
1. Copy module files:
```bash
cp -r m_donations/ /path/to/easystream/f_modules/m_frontend/
```
2. Import database:
```bash
mysql -u your_username -p your_database < sql/install.sql
```
3. Configure:
- Copy `config/config.example.php` to `config/config.php`
- Update Square credentials
- Set webhook URL: `https://your-domain.com/f_modules/m_frontend/m_donations/public/webhook.php`
## Database Tables
- `donations` - Donation records
- `donation_goals` - Streamer goals
- `donation_milestones` - Goal milestones
- `donation_analytics` - Analytics data
- `donation_notifications` - System notifications
- `api_keys` - API authentication
- `api_rate_limits` - Rate limiting
## Security
- API key authentication
- Rate limiting
- Input validation
- XSS protection
- CSRF protection
- SQL injection prevention
## Development
1. Add database tables in `sql/install.sql`
2. Update `config/config.php`
3. Create model in `src/Models/`
4. Create handler in `src/Handlers/`
5. Add API endpoints in `api/index.php`
6. Create views in `views/`
7. Add assets in `assets/`
## Testing
- Unit tests: `phpunit tests/`
- API tests: `phpunit tests/api/`
- Integration tests: `phpunit tests/integration/`
## Support
Contact: Sami Ahmed
## License
EasyStream License Agreement