Development Guidelines
Panduan development untuk kontributor MStore Mobile.๐ฏ Development Workflow
1. Setup Development Environment
2. Branch Strategy
feature/cashier-barcode-scan- New featuresfix/inventory-sync-issue- Bug fixeshotfix/payment-crash- Critical production fixesrefactor/bloc-architecture- Code refactoringdocs/api-documentation- Documentation updates
3. Commit Convention
Gunakan Conventional Commits:feat: New featurefix: Bug fixdocs: Documentationstyle: Code style (formatting, etc)refactor: Code refactoringperf: Performance improvementtest: Adding testschore: Maintenance tasks
4. Pull Request Process
Before Creating PR
PR Template
๐๏ธ Project Structure
Feature Module Structure
Core Module Structure
๐ Coding Standards
Dart Style Guide
BLoC Pattern
Repository Pattern
๐งช Testing
Unit Tests
Widget Tests
Integration Tests
๐ Code Review Checklist
For Authors
- Code follows project style guide
- All tests pass
- No compiler warnings
- Documentation updated
- Self-review completed
- Complex logic has comments
- No hardcoded values
- Error handling implemented
- Logging added where appropriate
For Reviewers
- Code is readable and maintainable
- Logic is correct
- Edge cases handled
- Performance considerations
- Security implications checked
- Tests are adequate
- Documentation is clear
- No code duplication
๐ Performance Guidelines
1. Widget Optimization
2. State Management
3. Network Optimization
๐ Monitoring & Logging
Logging Best Practices
Error Tracking
๐ Security Guidelines
-
No Hardcoded Secrets
-
Validate User Input
-
Secure Storage
๐ฑ Platform-Specific Guidelines
iOS
- Follow iOS Human Interface Guidelines
- Use Cupertino widgets when appropriate
- Test on multiple iOS versions
- Handle safe area insets
Android
- Follow Material Design guidelines
- Test on different screen sizes
- Handle back button properly
- Request permissions properly
Next Steps
- ๐ Code Style Guide
- ๐งช Testing Strategy
- ๐ Git Workflow
- ๐ Troubleshooting
Remember:
- โ Write clean, readable code
- โ Test your changes
- โ Document complex logic
- โ Follow conventions
- โ Ask for help when needed