Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Team Collaboration #12

Closed
Tracked by #10
varunsingh87 opened this issue Dec 26, 2023 · 0 comments · Fixed by #17
Closed
Tracked by #10

Team Collaboration #12

varunsingh87 opened this issue Dec 26, 2023 · 0 comments · Fixed by #17
Assignees
Labels
story New feature or request

Comments

@varunsingh87
Copy link
Owner

varunsingh87 commented Dec 26, 2023

Team Collaboration

Allow users who have entered the competition to find and collaborate with teammates. (Front-end team commitment enforcement)

Requirements

  • A competition participant can view possible teammates: formed teams and participants
  • The team list allows a competition participant to switch teams as described in Competition Participation #10
    • The teams list is sorted in ascending order of team size (one-person teams appear first)
  • When making a join request, the requestor may put a message that will be viewed in the team's dashboard
  • Each competition participant can view a dashboard only visible to his teammates containing
    • team chat
    • join requests
    • invitations, the status, and the people involved (who invited and who is being invited)
  • Teammates can chat with each other in a chat only visible to his teammates
    • Chats are plaintext messages and links
  • Any teammate can invite a participant from the teams list
    • Invitations can be made with a message that is viewable by the team and the potential joiner
  • When making both join requests and invitations, the user is reminded visually to include contact information. This is a temporary requirement until join request chats are implemented

Software Design

Schema Changes

New table: messages

Team ID Sender Message
TEAM_1 USER_1 Hello team!
TEAM_1 USER_2 Hi user 1!
TEAM_2 USER_5 Sample

Indexes: by_team

The _creationTime built-in column should be used for this table.

[12] Team Collaboration State Diagram

@varunsingh87 varunsingh87 added the story New feature or request label Dec 26, 2023
@varunsingh87 varunsingh87 self-assigned this Dec 26, 2023
@varunsingh87 varunsingh87 changed the title Team chat Team Collaboration Jan 11, 2024
@varunsingh87 varunsingh87 moved this from Backlog to Ready in Spoke Web Application Jan 11, 2024
@varunsingh87 varunsingh87 moved this from Ready to In progress in Spoke Web Application Jan 12, 2024
varunsingh87 added a commit that referenced this issue Jan 13, 2024
varunsingh87 added a commit that referenced this issue Jan 14, 2024
* Implement listCompetitionTeams
* Convert/rename frontend JSX components into TSX components to fix type errors
varunsingh87 added a commit that referenced this issue Jan 15, 2024
…m dashboard (front-end)

* Simplify API by removing listMessages hook and avoiding the possibility of running into more errors
varunsingh87 added a commit that referenced this issue Jan 16, 2024
… lib code with helpers module

* Fix build error
* Extract front-end into new components: TeamMembers, Chat, UserBubble
varunsingh87 added a commit that referenced this issue Jan 17, 2024
* Add separate property in Convex function invitations and show in separate list in team dashboard
* Style chat input and implement enter press handler
@varunsingh87 varunsingh87 linked a pull request Jan 17, 2024 that will close this issue
varunsingh87 added a commit that referenced this issue Jan 17, 2024
* This does not include join requests made by the joiner
* Add title to icon button
@github-project-automation github-project-automation bot moved this from In progress to Done in Spoke Web Application Jan 17, 2024
@varunsingh87 varunsingh87 added this to the Phase 1 Stories milestone Jan 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
story New feature or request
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant