We're excited that you want to contribute to OSMEA! This project aims to build a sustainable, functional, and reusable mobile architecture for the future of e-commerce applications. Every contribution, no matter how small, helps us achieve this vision.
- 🛠️ Providing a robust, modular codebase for rapid development
- 🎯 Enabling scalable architecture adaptable to diverse use cases
- 📚 Delivering fully documented, production-ready components
- 🐛 Bug Reports: Found a bug? Let us know!
- ✨ Feature Requests: Have an idea? We'd love to hear it!
- 📚 Documentation: Help improve our docs
- 🤔 Questions: Ask questions in discussions
- 🎨 UI Components: Build new widgets and components
- 🔧 Core Features: Implement new functionality
- 🧪 Testing: Write tests to improve coverage
- 🚀 Performance: Optimize existing code
- 🔐 Security: Enhance security features
- 📝 Documentation: Improve README, guides, and API docs
- 🎨 Design: UI/UX improvements and design assets
- 🌍 Translation: Help localize OSMEA
- 📢 Community: Help others in discussions and issues
Ensure you have the following installed:
# Required
- Flutter SDK (3.0+)
- Dart SDK (3.0+)
- Git
- Android Studio / VS Code
# Recommended VS Code Extensions
- Flutter
- Dart
- Flutter Intl
- GitLens-
Fork & Clone
# Fork the repository on GitHub # Then clone your fork git clone https://github.com/YOUR_USERNAME/osmea.git cd osmea
-
Setup Development Environment
# Run our automated setup script chmod +x setup.sh ./setup.sh # Or manually: flutter pub get dart run build_runner build --delete-conflicting-outputs
-
Verify Installation
# Run tests to ensure everything works flutter test # Start the app flutter run
osmea/
├── packages/
│ ├── core/ # Core functionality and models
│ ├── apis/ # API integrations and services
│ └── ui/ # UI components and widgets
├── lib/
│ ├── features/ # Feature-specific modules
│ ├── shared/ # Shared utilities and constants
│ └── main.dart # App entry point
├── test/ # Test files
├── docs/ # Documentation
└── assets/ # Images, fonts, and other assets# Create a new branch for your feature
git checkout -b feature/amazing-feature
# Or for bug fixes
git checkout -b fix/bug-description
# Or for documentation
git checkout -b docs/improvement-descriptionFollow our coding standards:
- Use
dart formatfor consistent formatting - Follow Effective Dart guidelines
- Use meaningful variable and function names
- Add documentation comments for public APIs
- Implement proper error handling
Follow our commit conventions:
# Format: type: description
feat: add new payment gateway integration
fix: resolve cart calculation bug
docs: update API documentation
style: improve code formatting
test: add unit tests for product service
refactor: optimize inventory management logic- Code follows project standards
- All tests pass (
flutter test) - No lint warnings (
flutter analyze) - Documentation updated if needed
- Commit messages follow conventions
# Run all tests
flutter test
# Run specific test files
flutter test test/unit/product_test.dart
# Generate test coverage
flutter test --coverage
genhtml coverage/lcov.info -o coverage/htmlUpdate documentation when:
- Adding new features or APIs
- Changing existing behavior
- Adding new dependencies
- Modifying setup instructions
Use our Pull Request Template:
- Create PR with descriptive title
- Fill out template completely
- Link related issues using keywords (
fixes #123) - Request review from maintainers
- Address feedback promptly
When reporting bugs, please include:
**Bug Description**
A clear description of what the bug is.
**Steps to Reproduce**
1. Go to '...'
2. Click on '...'
3. See error
**Expected Behavior**
What you expected to happen.
**Screenshots**
If applicable, add screenshots.
**Environment**
- OS: [e.g. iOS 15, Android 12]
- Flutter version: [e.g. 3.0.5]
- Device: [e.g. iPhone 13, Pixel 6]For feature requests:
**Feature Description**
Clear description of the feature.
**Problem Statement**
What problem does this solve?
**Proposed Solution**
How should this work?
**Alternatives Considered**
Other approaches you've thought about.
**Additional Context**
Screenshots, mockups, or examples.- Automated Checks: CI/CD runs tests and checks
- Maintainer Review: Core team reviews code
- Community Feedback: Other contributors may comment
- Iteration: Address feedback and improve
- Approval: Maintainer approves changes
- Merge: Changes are merged to main branch
Follow our design system when contributing UI components:
- Material Design 3: Use latest Material Design principles
- Responsive Design: Support all screen sizes
- Accessibility: Ensure components are accessible
- Theme Support: Components should support dynamic theming
- Follows Material Design 3 guidelines
- Responsive across different screen sizes
- Supports light and dark themes
- Includes accessibility features
- Has comprehensive documentation
- Includes usage examples
- Has unit and widget tests
If you discover security vulnerabilities:
- DO NOT create public issues
- Report privately to
license@masterfabric.co - Follow our Security Policy
- Wait for acknowledgment before disclosure
Help improve our documentation:
- API documentation
- Code examples
- Tutorials and guides
- Translation to other languages
- README improvements
- Use clear, concise language
- Include code examples
- Add screenshots for UI features
- Keep information up-to-date
- Follow markdown best practices
All contributors must follow our Code of Conduct. In summary:
- Be respectful and inclusive
- Be constructive in feedback
- Be patient with newcomers
- Be collaborative and helpful
- GitHub Issues: Bug reports and feature requests
- GitHub Discussions: Questions and community chat
- Pull Requests: Code review and collaboration
- Email:
license@masterfabric.cofor private matters
We use labels to organize issues:
| Label | Description |
|---|---|
bug |
Something isn't working |
enhancement |
New feature or request |
documentation |
Improvements or additions to docs |
good first issue |
Good for newcomers |
help wanted |
Extra attention is needed |
priority: high |
High priority items |
status: in progress |
Currently being worked on |
We appreciate all contributions! Contributors are recognized:
- Contributors Graph: Visible on GitHub
- Release Notes: Major contributions mentioned
- Hall of Fame: Top contributors highlighted
- Special Thanks: In project documentation
Need help contributing? Here are your options:
- GitHub Discussions: For general questions
- Issue Comments: For specific code questions
- Email:
license@masterfabric.cofor private inquiries
- Major (1.0.0): Breaking changes
- Minor (1.1.0): New features (backward compatible)
- Patch (1.1.1): Bug fixes
- Regular releases: Monthly minor releases
- Hotfixes: As needed for critical bugs
- Major releases: Quarterly with breaking changes
This project is licensed under GNU AGPL v3.0. By contributing, you agree that your contributions will be licensed under the same terms.
- Owner: MASTERFABRIC Bilişim Teknolojileri A.Ş.
- Maintainer: Gürkan Fikret Günak (@gurkanfikretgunak)
- Contributors: All contributors retain copyright of their contributions
By submitting a pull request, you confirm that:
- You have the right to license your contribution to us
- You agree to license your contribution under GNU AGPL v3.0
- Your contribution is your original work
Your contributions make OSMEA better for everyone!
Questions? Reach out!
- 📧 Email:
license@masterfabric.co - 💬 GitHub: @gurkanfikretgunak
- 🌐 Website: masterfabric.co
Built with ❤️ by the OSMEA Community