Skip to content

Feature/enhanced collaboration workflow#78

Merged
Roshan1299 merged 18 commits intomainfrom
feature/enhanced-collaboration-workflow
Mar 21, 2026
Merged

Feature/enhanced collaboration workflow#78
Roshan1299 merged 18 commits intomainfrom
feature/enhanced-collaboration-workflow

Conversation

@Roshan1299
Copy link
Copy Markdown
Owner

📋 Pull Request Description

What does this PR do?

Implements the Enhanced Collaboration Workflow — users can apply to collaboration posts by swiping right, project owners can manage applicants via a dashboard, and accepted applicants automatically get a chat created with a welcome message. Also fixes chat UI bugs and unifies the side navigation drawer across tabs.

Related Issues

📱 Platform(s) Affected

  • Android
  • Backend/API
  • Web Interface
  • Documentation
  • CI/CD

🧪 Type of Changes

  • 🐛 Bug fix (non-breaking change which fixes an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to change)
  • 📚 Documentation update
  • 🔧 Refactoring (no functional changes)
  • ⚡ Performance improvement
  • 🧹 Code cleanup
  • 🔒 Security fix

📝 Detailed Changes

Key Changes Made:

  • Swipe right on a collaboration post to apply; backend validates no self-apply, no duplicates, and post must be active (not filled)
  • Owner Dashboard screen accessible from drawer — lists owner's posts with expandable applicant list, accept/decline buttons, and tappable profiles
  • My Applications screen accessible from drawer — shows all user's applications with color-coded status badges (PENDING/ACCEPTED/DECLINED)
  • On accept: auto-increments team size, auto-fills post when full, creates chat conversation with welcome message
  • Unified side navigation drawer across Home and Collaborate tabs with consistent blue theme
  • Chat UI hotfixes: back button, message bubble colors, timestamps, empty state

Technical Details:

  • Backend: New CollabApplication JPA entity with unique constraint on (post, applicant). CollabApplicationService handles business logic. 5 new REST endpoints on CollabPostController.
  • Frontend: 3 new adapters (ApplicantAdapter, OwnerPostAdapter, MyApplicationAdapter), 2 new fragments (OwnerDashboardFragment, MyApplicationsFragment), swipe-right apply logic in CollabCardStackManager. Navigation graph updated with new destinations and actions.

🧪 Testing

How Has This Been Tested?

  • Unit tests
  • Integration tests
  • Manual testing
  • Automated UI tests

Test Configuration:

  • Device/OS: Physical Android device via ADB reverse
  • App Version: debug build
  • Test Data: Local PostgreSQL

Test Cases Covered:

  • Happy path scenarios
  • Edge cases
  • Error handling
  • Performance impact

📷 Screenshots/Videos

Before:

N/A — new feature

After:

📊 Performance Impact

  • No performance impact
  • Improves performance
  • May impact performance (explain below)
  • Performance impact unknown

🔐 Security Considerations

  • No security implications
  • Security review required
  • Addresses security vulnerability

📋 Migration Notes

  • No migration required
  • Database migration required
  • Configuration changes required
  • Documentation updates required

Hibernate ddl-auto: update will auto-create the collab_applications table on next backend startup. No manual migration needed.

✅ Checklist

Code Quality

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • I have added error handling where appropriate

Testing

  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have tested this change on multiple devices/browsers (if applicable)

Documentation

  • I have made corresponding changes to the documentation
  • I have updated the changelog (if applicable)
  • I have added inline code comments for complex logic

Dependencies

  • I have not introduced any new dependencies without discussion
  • All new dependencies are properly documented
  • I have verified license compatibility for any new dependencies

🔗 Additional Notes

The adb reverse tcp:8080 tcp:8080 command must be re-run each time the physical device is reconnected. This is documented in docs/SETUP.md.

📞 Reviewer Instructions

  • Pay special attention to CollabApplicationService.kt — handles accept/decline logic and auto-chat creation
  • Test specifically on physical device with ADB reverse
  • Review the logic in CollabCardStackManager.kt for swipe-right apply flow

For Maintainers:

  • Version bump required
  • Release notes updated
  • Marketing team notified (for user-facing changes)

      - Wire back button in IndividualChatFragment to navigateUp()
      - Fix sent message bubble color (was light blue causing white text invisible)
      - Add timestamps to message bubbles
      - Fix conversation list timestamp alignment and unread badge position
      - Add empty state to chat list
      - Fix message input text visibility
      - Replace oversized FAB with compact send button
      - Add ADB reverse note to SETUP.md

      Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…g collaboration applications

Signed-off-by: Roshan1299 <banisettirosh@gmail.com>
Signed-off-by: Roshan1299 <banisettirosh@gmail.com>
…base in CI

Signed-off-by: Roshan1299 <banisettirosh@gmail.com>
@Roshan1299 Roshan1299 linked an issue Mar 21, 2026 that may be closed by this pull request
8 tasks
@Roshan1299 Roshan1299 merged commit 943bdcd into main Mar 21, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

US 04.02.01

1 participant