Activities - scanonc/Local-Sports GitHub Wiki
Vision Board:
Requirements Prioritisation
| ID | Functionality | Priority |
|---|---|---|
| FR1 | Create a sports match. | Must |
| FR2 | Define match details. | Must |
| FR3 | Browse available matches. | Must |
| FR4 | Accept or reject join requests. | Must |
| FR5 | Join a match. | Must |
| FR6 | Leave a match. | Must |
| FR7 | Confirm attendance before a match. | Must |
| FR8 | View the list of participants. | Must |
| FR9 | Cancel a match. | Must |
| FR10 | Waiting list for full matches. | Must |
| FR11 | Automatic replacement suggestions. | Must |
| FR12 | Filter matches by date, location, and skill level. | Must |
| FR13 | Match history. | Should |
| FR14 | Notifications for match updates. | Should |
| FR15 | Invite players to a match. | Should |
| FR16 | Share match invitation link. | Should |
| FR17 | Favorite players. | Should |
| FR18 | Report users. | Should |
| FR19 | Statistics-based matchmaking recommendations. | Should |
| FR20 | Player performance statistics. | Should |
| FR21 | Player rating system. | Should |
| FR22 | Match comments. | Should |
| FR23 | Player profiles with statistics. | Should |
| FR24 | Team balancing based on ratings. | Should |
| FR25 | Calendar integration. | Could |
| FR26 | Integration with field availability. | Could |
| FR27 | Real-time chat and statistics. | Could |
| FR28 | In-app payment system for field reservations. | Won't |
| FR29 | Integration with smartwatches. | Won't |
| FR30 | AI-generated match highlights and video analysis. | Won't |
Requirements Specification
| ID | Priority | Sprint | Requirement |
|---|---|---|---|
| FR1 | Must | Sprint 1 | WHEN a registered player submits the match creation form, THE Local Sports System SHALL create a new football match. |
| FR2 | Must | Sprint 1 | WHEN the match organizer creates or edits a football match, THE Local Sports System SHALL store the match details, including date, time, location, skill level, maximum number of players, and match visibility. |
| FR3 | Must | Sprint 1 | WHEN a player accesses the available matches section, THE Local Sports System SHALL display all football matches with available slots. |
| FR4 | Must | Sprint 1 | WHEN a player requests to join a football match that requires organizer approval, THE Local Sports System SHALL send the join request to the match organizer. |
| FR5 | Must | Sprint 1 | WHEN a player requests to join a public football match with available slots, THE Local Sports System SHALL add the player to the participant list. |
| FR6 | Must | Sprint 1 | IF a participant leaves a football match before it starts THEN THE Local Sports System SHALL remove the player from the participant list and update the available slots. |
| FR7 | Must | Sprint 2 | WHEN a participant receives an attendance confirmation request, THE Local Sports System SHALL record the player's attendance confirmation before the match starts. |
| FR8 | Must | Sprint 2 | WHEN a player opens the details of a football match, THE Local Sports System SHALL display the list of registered participants. |
| FR9 | Must | Sprint 2 | WHEN the match organizer cancels a football match, THE Local Sports System SHALL cancel the match. |
| FR9.1 | Must | Sprint 2 | WHEN the match organizer cancels a football match, THE Local Sports System SHALL send a push notification to all registered participants. |
| FR10 | Must | Sprint 2 | WHEN a player attempts to join a football match that has reached its maximum number of participants, THE Local Sports System SHALL add the player to the waiting list. |
| FR11 | Must | Sprint 2 | WHEN a participant leaves a football match with a waiting list, THE Local Sports System SHALL assign the available slot to the first player on the waiting list. |
| FR12 | Must | Sprint 2 | WHEN a player searches for football matches, THE Local Sports System SHALL filter the available matches by date, location, and skill level. |
| FR13 | Should | Sprint 3 | WHEN a player accesses the match history section, THE Local Sports System SHOULD display the player's completed football matches. |
| FR14 | Should | Sprint 3 | WHEN a football match is updated, THE Local Sports System SHOULD send a Email notification to all affected participants. |
| FR14.1 | Should | Sprint 3 | WHEN a football match is canceled, THE Local Sports System SHOULD send a Email notification to all affected participants. |
| FR15 | Should | Sprint 3 | WHEN the match organizer selects players to invite, THE Local Sports System SHOULD send an invitation to the selected players. |
| FR16 | Should | Sprint 3 | WHEN the match organizer requests a shareable invitation, THE Local Sports System SHOULD generate a shareable invitation link for the football match. |
| FR17 | Should | Sprint 3 | WHEN a player marks another player as a favorite, THE Local Sports System SHOULD save the selected player in the favorites list. |
| FR18 | Should | Sprint 3 | WHEN a player reports another player, THE Local Sports System SHOULD record the report and the selected reason. |
| FR19 | Should | Sprint 4 | WHEN a player searches for football matches, THE Local Sports System SHOULD recommend matches based on the player's statistics and playing history. |
| FR20 | Should | Sprint 4 | WHEN a football match is completed, THE Local Sports System SHOULD update each participant's performance statistics. |
| FR21 | Should | Sprint 4 | WHEN a football match is completed, THE Local Sports System SHOULD allow participants to rate other players. |
| FR22 | Should | Sprint 4 | WHEN a participant submits a comment after a football match, THE Local Sports System SHOULD publish the comment on the match page. |
| FR23 | Should | Sprint 4 | WHEN a player views another player's profile, THE Local Sports System SHOULD display the player's statistics and ratings. |
| FR24 | Should | Sprint 4 | WHEN the match organizer requests automatic team generation, THE Local Sports System SHOULD generate balanced teams according to the players' ratings. |
| FR25 | Could | Backlog (Post-MVP) | WHEN a participant selects the Add to Calendar option, THE Local Sports System COULD export the football match information to the player's calendar. |
| FR26 | Could | Backlog (Post-MVP) | WHEN the match organizer selects a football field while creating a match, THE Local Sports System COULD display the field's availability. |
| FR27 | Could | Backlog (Post-MVP) | WHEN participants open the football match chat, THE Local Sports System COULD provide a real-time chat. |
| FR27.1 | Could | Backlog (Post-MVP) | WHEN participants open the football match chat, THE Local Sports System COULD display live match statistics. |
| FR28 | Won't | Out of Scope | THE Local Sports System WON'T provide an in-app payment system for field reservations. |
| FR29 | Won't | Out of Scope | THE Local Sports System WON'T provide integration with smartwatches. |
| FR30 | Won't | Out of Scope | THE Local Sports System WON'T provide AI-generated match highlights or video analysis. |
Elevator Pitch
Our project is called Local Sports, and it was developed by Sebastián Cañón, Ismael García, and Yohn Gaviria.
Have you ever wanted to play a football match with your friends, but you were missing a goalkeeper, a defender, or someone canceled at the last minute and you had to find a replacement?
This happens because most recreational football matches are currently organized through WhatsApp groups or social media. This creates confusion when trying to find players, confirm who is actually going to attend, and keep track of all the participants. As a result, many matches start with missing players or take far too much time to organize.
To solve this problem, we developed Local Sports, a web application that centralizes the entire match organization process in one place. The application allows users to register, create football matches by entering all the necessary information, and browse available matches to join.
In future versions, we plan to implement a matchmaking system based on player statistics and skill levels to help users find the most suitable matches.
The project has already completed the planning and requirements definition stage.
We are currently developing the core structure of the application, and our next step is to implement the MVP using Python, Django, and Bootstrap.
With Local Sports, our goal is to make organizing a football match faster, easier, and more organized, allowing players to spend more time enjoying the game and less time coordinating through messages.
Thank you.