Guidelines for contributing to the Credit Card Payment Optimizer.
- Fork the repository
- Clone your fork:
git clone https://github.com/your-username/cc.git cd cc - Add upstream remote:
git remote add upstream https://github.com/original/cc.git
- Install dependencies: See Installation Guide
git checkout -b feature/my-featureBranch naming:
feature/- New featuresfix/- Bug fixesdocs/- Documentationrefactor/- Code refactoringtest/- Test additions
- Follow Code Style Guide
- Write tests (95%+ coverage required)
- Update documentation
- Keep commits atomic
git add .
git commit -m "feat: add payment notification feature"Commit message format:
<type>: <description>
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentationstyle: Formattingrefactor: Code restructuringtest: Testschore: Maintenance
Examples:
feat: add dark mode support
fix: correct payment calculation for leap years
docs: update API documentation for v1.1
test: add tests for payment calculator
# Android
./gradlew test
./gradlew ktlintCheck
# Backend
npm test
npm run lint:checkAll tests must pass!
git push origin feature/my-feature- Go to GitHub repository
- Click "New Pull Request"
- Select your branch
- Fill in PR template:
- Description of changes
- Related issues
- Testing done
- Screenshots (if UI changes)
- Tests pass
- Linting passes
- Documentation updated
- Commit messages follow convention
- PR description is clear
- No merge conflicts
All PRs require:
- ✅ Automated checks passing
- ✅ Code review approval
- ✅ Test coverage maintained (95%+)
- ✅ No linting errors
- Submit PR
- Automated checks run
- Reviewer assigned
- Address feedback
- Approve & merge
# Make changes
git add .
git commit -m "refactor: address PR feedback"
git push origin feature/my-feature- iOS app (Swift/SwiftUI)
- Web dashboard
- Payment scheduling
- Multiple payment strategies
- Credit score tracking
- Rewards optimization
- Bill splitting
- Spending insights
- Multi-language support
- Accessibility improvements
- Additional bank integrations
Include:
- Description: What happened?
- Expected: What should happen?
- Steps to reproduce
- Environment: Android version, app version
- Logs: Relevant error messages
- Screenshots: If applicable
Template:
**Description**
Brief description of the bug
**To Reproduce**
1. Open app
2. Tap on ...
3. See error
**Expected Behavior**
What should have happened
**Environment**
- Android version: 14
- App version: 1.0.0
- Device: Pixel 6
**Logs**Error logs here
**Screenshots**
If applicable
Include:
- Description: What feature?
- Use case: Why is it needed?
- Proposed solution: How should it work?
- Alternatives: Other approaches considered?
- Check FAQ
- Check Documentation
- Open a GitHub Discussion
- Ask in community chat
- Be respectful
- Be constructive
- Be collaborative
- Be patient
By contributing, you agree that your contributions will be licensed under the project's license.
See Also: