Thank you for your interest in contributing to Secure Copy App Universal! This document provides guidelines and information for contributors.
- Use the Bug Report template
- Include detailed environment information
- Provide steps to reproduce the issue
- Add screenshots if applicable
- Use the Feature Request template
- Explain the use case and benefits
- Consider implementation complexity
- Check existing issues to avoid duplicates
# Fork and clone the repository
git clone https://github.com/yourusername/Secure-Copy-App-Universal.git
cd Secure-Copy-App-Universal
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install development dependencies
pip install pytest pytest-cov flake8 bandit safety- Create a branch from
mainfor your feature/fix - Follow naming conventions:
feature/descriptionorfix/description - Write tests for new functionality
- Test thoroughly including the cancellation system
- Update documentation as needed
- Submit a pull request using the PR template
- Follow PEP 8 guidelines
- Use meaningful variable and function names
- Add docstrings for functions and classes
- Keep functions focused and small
- Use type hints where appropriate
- Use modern ES6+ features
- Follow consistent naming conventions
- Add comments for complex logic
- Ensure cross-browser compatibility
- Handle errors gracefully
Follow the Conventional Commits specification:
type(scope): description
feat: add new feature
fix: resolve bug
docs: update documentation
style: formatting changes
refactor: code restructuring
test: add or update tests
chore: maintenance tasks
Examples:
feat(transfer): add pause/resume functionality
fix(ui): resolve progress bar display issue
docs(api): update endpoint documentation
test(cancel): add cancellation system tests
- Unit tests for new functions
- Integration tests for API endpoints
- UI tests for frontend functionality
- Transfer tests including cancellation scenarios
# Run all tests
python -m pytest
# Run with coverage
python -m pytest --cov=.
# Test specific functionality
python test_cancel_transfer.py
# Lint code
flake8 .
# Security scan
bandit -r .
safety check- Maintain minimum 80% code coverage
- Test both success and error scenarios
- Include edge cases and boundary conditions
- Test cancellation functionality thoroughly
- Never commit credentials or keys
- Use environment variables for sensitive data
- Validate all user inputs
- Follow secure coding practices
- Test for common vulnerabilities
- All PRs undergo security review
- Use
banditfor static security analysis - Check dependencies with
safety - Follow OWASP guidelines
- Update README.md for user-facing changes
- Add API documentation for new endpoints
- Include code comments for complex logic
- Update CHANGELOG.md with version changes
- Use clear, concise language
- Include code examples
- Add screenshots for UI changes
- Keep documentation up-to-date
Follow Semantic Versioning:
- MAJOR: Breaking changes
- MINOR: New features (backward compatible)
- PATCH: Bug fixes (backward compatible)
- Update version numbers
- Update CHANGELOG.md
- Run full test suite
- Update documentation
- Create release notes
- Tag release in Git
- Be respectful and inclusive
- Welcome newcomers and help them learn
- Focus on constructive feedback
- Maintain professional communication
- Check existing documentation first
- Search issues for similar problems
- Ask questions in GitHub Discussions
- Be specific about your environment and issue
All contributors will be recognized in:
- README.md contributors section
- Release notes
- GitHub contributors page
We value all types of contributions:
- 💻 Code contributions
- 📖 Documentation improvements
- 🐛 Bug reports and testing
- 💡 Feature suggestions
- 🎨 UI/UX improvements
- 🌍 Translations
- 📢 Community support
- Primary Maintainer: @shubhammuke
- Issues: For bugs and feature requests
- Discussions: For questions and general discussion
- Email: For security-related concerns
By contributing to Secure Copy App Universal, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to Secure Copy App Universal! Your efforts help make secure file transfers accessible to everyone. 🚀