Files
easystream/modules/m_frontend/m_donations
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
..

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:

    cp -r m_donations/ /path/to/easystream/f_modules/m_frontend/
    
  2. Import database:

    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