We welcome contributions to SetTimer! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/settimer.git - Create a new branch:
git checkout -b feature/your-feature-name - Make your changes
- Test your changes thoroughly
- Commit with a clear message:
git commit -m "Add: description of your feature" - Push to your fork:
git push origin feature/your-feature-name - Create a Pull Request
- Flutter SDK 3.0.0 or higher
- Dart SDK 3.0.0 or higher
- Android Studio / VS Code
- Git
# Clone the repository
git clone https://github.com/JosephDoUrden/settimer.git
cd settimer
# Install dependencies
flutter pub get
# Run the app
flutter run# Android
flutter build apk --release
flutter build appbundle --release
# iOS
flutter build ios --release- Follow Dart Style Guide
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions small and focused
- Use proper error handling
Run the linter before submitting:
flutter analyze- Write tests for new features
- Ensure existing tests pass
- Test on both Android and iOS when possible
# Run tests
flutter testUse clear, descriptive commit messages:
Add: new feature descriptionFix: bug descriptionUpdate: change descriptionRemove: deletion descriptionRefactor: code improvement description
- One feature per PR: Keep PRs focused on a single feature or fix
- Clear description: Explain what your PR does and why
- Test your changes: Ensure your code works as expected
- Update documentation: Update README or comments if needed
- Follow the style guide: Maintain consistent code style
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
- [ ] Tested on Android
- [ ] Tested on iOS
- [ ] Added/updated tests
## Screenshots (if applicable)
[Add screenshots here]- Check existing issues first
- Create a detailed issue describing the feature
- Explain the use case and benefit
- Be patient - we review all requests
When reporting bugs, include:
- Device/platform information
- Steps to reproduce
- Expected vs actual behavior
- Screenshots/recordings if helpful
- Relevant logs or error messages
lib/
├── controllers/ # Business logic controllers
├── models/ # Data models
├── services/ # External services and utilities
├── views/ # UI screens
├── widgets/ # Reusable UI components
└── main.dart # App entry point
assets/
└── sounds/ # Audio files for different themes
android/ # Android-specific configurations
ios/ # iOS-specific configurations
See BACKLOG_V2.md for planned features and development timeline.
- Check existing Issues
- Start a Discussion
- Read the README for basic information
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to SetTimer! 🏋️♂️