# Pool League

## Description
Description: A transparent, easy-to-navigate web application for all things related to the "8 on the Break" Pool League. Team schedules and rankings are updated in real time as matches are completed, allowing for strategic competition decisions to be made as the season progresses. Individual players have handicaps that also update after every match based on the win-loss percentage and strength of the opponent. 

Technical Details:
 A league season consists of 10 weeks of play, one match per week. A match is between two teams consisting of 5 players each, one of whom is the Team Captain. There are 6 teams in the league, and teams will play each other twice per season. Each match will have 5 individual match-ups per night. A match-up is between two players on opposing teams, playing a number of games determined by their handicaps.

## Project details
- Category: General
- Difficulty: 
- Suggested stack: Not specified
- Approval status: Approved

## Target users
### ⦁ Anonymous user

### ⦁ Registered players

### ⦁ Team captains

### ⦁ League operator

## Tags
MVP, Notes

## User Stories
### Anonymous view
As an anonymous user, I need to be able to view team names, match locations, schedules, and league operator contact information.

### Register
As an anonymous user, I need to be able to fill out a registration form to become a player, and submit it to the league operator.

### View Rankings
As a registered player, I need to be able to view all team and player rankings.

### Handicaps
As a registered player, I need to be able to view handicaps of all players in the league, but not how the handicaps are calculated.

### Matchup
As a registered player, I need to be able to see what the match-up will look like against any given opponent, i.e. how many games would each of us need to win?

### Past Results
As a registered player, I need to be able to view the results of all past matches.

### Future Matches
As a registered player, I need to be able to see future match schedules and locations.

### Enter Scores
As a team captain, I need to be able to enter scores of each match-up and submit at the end of each night of play.

### Confirm Scores
As a team captain, I need to receive confirmation that the scores I entered match those entered by the opposing team’s captain.

### Score Error
As a team captain, I need to receive an error message if scores did not match, so that I may consult with the opposing team’s captain.

### Dispute Handicap
As a team captain, I need to be able to dispute player handicaps through a form submitted to the league operator.

### Emergency Notification
As a team captain, I need to be able to receive alerts from the league operator in case of emergencies.

### Receive Registrations
As a league operator, I need to be able to receive new member registrations.

### Create User Account
As a league operator, I need to be able to create user accounts for all players, and issue each player a unique ID #.

### Select Captains
As a league operator, I need to be able to give team captains special access based on their ID#.

### Set Schedule
As a league operator, I need to be able to set the match schedules for the whole season prior to the start.

### Adjust Schedule
As a league operator, I need to be able to adjust match schedules mid season.

### Alert Schedule Change
As a league operator, I need to be able to send alerts to all team captains when schedule changes are made.

### View Handicap Disputes
As a league operator, I need to be able to view handicap disputes submitted by team captains.

### Change Handicap
As a league operator, I need to be able to manually change a player's handicap based on the subjective validity of the captain's dispute argument.
