Thank you for your interest in contributing to QuickLaunch! This document provides guidelines and instructions for contributing to this project.
By participating in this project, you agree to maintain a respectful and inclusive environment for everyone.
- Search first - Check if the bug has already been reported
- Use issue templates - Fill out the bug report template
- Include details:
- Device model and manufacturer
- Android version
- Steps to reproduce
- Expected vs actual behavior
- Screenshots or screen recordings
- Search existing issues - Check if the feature has been requested
- Describe the use case - Explain why this feature would be useful
- Provide examples - Show how it would work in practice
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes following the coding standards
- Write tests for new functionality
- Commit with clear messages:
git commit -m 'Add amazing feature' - Push to your branch:
git push origin feature/amazing-feature - Open a Pull Request
- Android Studio Hedgehog (2023.1.1) or later
- JDK 17 or later
- Android SDK 34
- Git
# Clone the repository
git clone https://github.com/quicklaunch/quicklaunch-android.git
# Navigate to project directory
cd quicklaunch-android
# Open in Android Studio
# File -> Open -> Select the project folder
# Build and run on emulator or device# Using Gradle
./gradlew assembleDebug
# Using Android Studio
# Build -> Build APK# Run unit tests
./gradlew test
# Run instrumented tests (on device/emulator)
./gradlew connectedAndroidTest- Follow Kotlin Coding Conventions
- Use meaningful variable and function names
- Add documentation comments for public APIs
- Keep functions small and focused
- Follow Clean Architecture principles
- Use MVVM pattern for presentation layer
- Implement repository pattern for data layer
- Use dependency injection with Hilt
com.quicklaunch/
├── data/ # Data layer
│ ├── local/ # Local data sources
│ ├── repository/ # Repository implementations
│ └── source/ # Data providers
├── di/ # Dependency injection
├── domain/ # Business logic
│ ├── model/ # Domain models
│ └── repository/ # Repository interfaces
└── presentation/ # UI layer
└── ui/ # Activities, ViewModels, Composables
- Write unit tests for business logic
- Write UI tests for critical user flows
- Test edge cases and error scenarios
- Maintain test coverage for new features
- Update README.md for new features
- Add inline documentation for complex code
- Create guide documentation for user-facing features
- Update API documentation when needed
- All submissions require review from maintainers
- Reviewers may request changes
- Address feedback and push updates
- Once approved, maintainers will merge
By contributing, you agree that your contributions will be licensed under the MIT License.
- GitHub Issues: Open an issue
- Discussions: GitHub Discussions
- Email: support@quicklaunch.app
Thank you for making QuickLaunch better! 🎉