π > IPTV Contribution
Contributing to IPTV Player Project
Thank you for considering contributing to Megacubo! Your help is essential to keeping the project alive and improving it for everyone.
There are many ways to contribute, whether you're a developer, translator, designer, or just a passionate user.
Contributing Codeβ
Megacubo is an open-source project hosted on GitHub at github.com/EdenwareApps/megacubo.
Understanding the Codebaseβ
Before contributing code, familiarize yourself with the project structure:
- Internal Modules: Check out the Internal Modules Documentation to understand how the different components work together
- Module Architecture: Each module is self-contained with its own documentation
- Event-based Communication: Modules communicate through Node.js EventEmitter
- Shared Configuration: Common settings managed through the config module
IPTV Development Requirementsβ
To build IPTV player from source locally, you'll need:
- Node.js (v14 or higher)
- Git installed and configured
- For builds: system dependencies and build instructions (see building.md)
Setup Development Environmentβ
-
Clone the repository:
git clone https://github.com/EdenwareApps/Megacubo.gitcd Megacubo -
Install dependencies:
npm install -
Prepare the project (compiles and bundles the code):
npm run prepareSee development setup for more details.
-
Test your changes:
npm start # Starts app (automatically detects development or production mode based on the last build)
Build Commandsβ
Optimized Builds (Recommended - Smaller size, premium protection):β
npm run build:electron:linux # Linux: AppImage, Snap, Flatpak (~84MB)
npm run build:electron:win # Windows: NSIS, MSI (~84MB)
npm run build:electron:mac # macOS: DMG (~84MB)
npm run build:electron:all # All platforms
Traditional Builds (Includes all dependencies):β
npm run build:electron:linux # Linux installers (~1.3GB+)
npm run build:electron:win # Windows installers (~1.3GB+)
npm run build:electron:mac # macOS installers (~1.3GB+)
Steps to Contributeβ
- Fork the repository on GitHub.
- Clone your fork and set up the development environment (see above).
- Create a feature branch:
git checkout -b feature/your-feature-name
- Make your changes and test thoroughly.
- Build and test installers to ensure compatibility.
- Commit your changes with clear commit messages.
- Push to your fork and create a pull request.
Development Guidelinesβ
- Follow existing code style and conventions
- Write clear commit messages in English
- Update documentation if needed
Translating Megacuboβ
Help make Megacubo available in your language:
- Check existing translations in the
www/nodejs/langfolder - Create or update translation files
- Test the translation in the app
- Submit a pull request with your changes
Translation Guidelinesβ
- Use clear, natural language
- Maintain consistency with existing translations
- Test UI elements to ensure proper fit
- Follow platform conventions for your language
Reporting Bugsβ
Found a bug? Help us fix it:
- Check existing issues to avoid duplicates
- Create a new issue with:
- Clear description of the problem
- Steps to reproduce
- Expected vs actual behavior
- System information (OS, version, etc.)
- Screenshots if applicable
Bug Report Templateβ
**Bug Description:**
[Clear description of the issue]
**Steps to Reproduce:**
1. [Step 1]
2. [Step 2]
3. [Step 3]
**Expected Behavior:**
[What should happen]
**Actual Behavior:**
[What actually happens]
**System Information:**
- OS: [Windows/macOS/Linux/Android]
- Version: [Megacubo version]
- Device: [Device specifications]
**Additional Information:**
[Screenshots, logs, etc.]
Feature Requestsβ
Have an idea for a new feature?
- Search existing issues to avoid duplicates
- Create a feature request with:
- Clear description of the feature
- Use cases and benefits
- Implementation suggestions (if any)
- Priority level
Documentationβ
Help improve our documentation:
- Fix typos and grammar errors
- Add missing information
- Improve clarity and organization
- Translate documentation to other languages
Community Supportβ
Help other users:
- Answer questions on GitHub Discussions
- Help with troubleshooting
- Share your experiences and tips
- Welcome new contributors
Code of Conductβ
We are committed to providing a welcoming and inclusive environment:
- Be respectful to all contributors
- Use inclusive language
- Be patient with newcomers
- Focus on constructive feedback
Getting Helpβ
Need help contributing?
- Read the documentation thoroughly
- Ask questions on GitHub Discussions
- Email us at contact@megacubo.tv
- Contact maintainers for guidance
Every contribution, no matter how small, helps make Megacubo better for everyone. Thank you for your support!
Next: Legal Notice Previous: Support & Contact