We love your input! We want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/WebView-App.git cd WebView-App - Open in Android Studio or VS Code
- Create a feature branch:
git checkout -b feature/amazing-feature
- Android Studio 2024.1.1 or later
- Java 17 or later
- Android SDK API 29+
- Gradle 8.0+ (included in wrapper)
We use GitHub issues to track bugs. Report a bug by opening a new issue.
Great Bug Reports tend to have:
- A quick summary and/or background
- Steps to reproduce (be specific!)
- What you expected would happen
- What actually happens
- Device and Android version information
- Screenshots/GIFs if applicable
We use GitHub issues to track feature requests. Suggest a feature by opening a new issue.
Great Feature Requests include:
- Clear problem description
- Proposed solution
- Use cases and examples
- Implementation ideas (if any)
- Update the README.md with details of changes if needed
- Update version numbers in any examples files and the README.md
- Ensure all tests pass
- Request review from maintainers
- Java code style follows Google Java Style Guide
- 4 spaces for indentation (no tabs)
- Line length: 100 characters max
- Naming: camelCase for variables/methods, PascalCase for classes
- Modular Design: Each feature in its own manager class
- Separation of Concerns: UI, Business Logic, and Data layers
- Clean Code: Self-documenting code with minimal comments
- SOLID Principles: Single responsibility, Open/closed, etc.
app/src/main/java/com/monstertechno/webview/
├── config/ # Configuration files
├── core/ # Core WebView functionality
├── managers/ # Feature managers
├── bridge/ # JavaScript bridge
├── services/ # Background services
├── receivers/ # Broadcast receivers
├── workers/ # Background workers
└── ui/ # User interface
Follow Conventional Commits:
feat: add biometric authentication
fix: resolve status bar theme detection
docs: update README with new features
style: format code according to guidelines
refactor: improve WebViewManager structure
test: add unit tests for JavaScriptBridge
chore: update dependencies
- Unit Tests: Write tests for business logic
- Integration Tests: Test feature interactions
- Manual Testing: Test on multiple devices/Android versions
- Performance Testing: Ensure smooth operation
- App builds successfully
- No lint warnings/errors
- Unit tests pass
- Manual testing on real device
- WebView loads target website correctly
- JavaScript bridge works (if enabled)
- Theme adaptation works
- External links open in Custom Tabs
- File upload/download works
- Permissions are requested properly
We use SemVer for versioning. For the versions available, see the tags on this repository.
- MAJOR: Breaking changes
- MINOR: New features (backwards compatible)
- PATCH: Bug fixes (backwards compatible)
By contributing, you agree that your contributions will be licensed under the MIT License.
We're especially looking for contributions in:
- 🔐 Security enhancements
- 🐛 Bug fixes
- 📱 Android compatibility
- ⚡ Performance optimizations
- ✨ New WebView features
- 🎨 UI/UX improvements
- 📚 Documentation improvements
- 🧪 Test coverage
- 🛠️ Developer tools
- 📈 Analytics integration
- 🌍 Internationalization
- Kotlin support
- Dark mode detection
- Custom splash screens
- Advanced JavaScript APIs
- Push notification handling
- Offline mode support
- Progressive Web App features
- Multi-window support
- 💬 GitHub Discussions - Ask questions
- 📺 YouTube Channel - Video tutorials
- 🐛 Issues - Bug reports
This project follows the Contributor Covenant Code of Conduct. By participating, you are expected to uphold this code.
Thanks goes to these wonderful people (emoji key):
Suman Dey - @imsumandey - www.sumandey.com
Project Link: https://github.com/MonsterTechnoGits/WebView-App
Happy Coding! 🚀