Add Basic Webservices

Registered by Ryan Ahearn

Add basic webservices framework and core functions to golfstats. These should cover the basic functions of the command line interface released in 0.1 major version.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Essential
Drafter:
None
Direction:
Approved
Assignee:
Ryan Ahearn
Definition:
Approved
Series goal:
Accepted for 0.2
Implementation:
Implemented
Milestone target:
milestone icon 0.2.0
Started by
Ryan Ahearn
Completed by
Ryan Ahearn

Related branches

Sprints

Whiteboard

Functions needed:
*String addPlayer(String firstName, String lastName, Boolean isMale(default null), Float handicapIndex(default null))
**Adds a new player to the system and returns the UUID the server uses to track that player, to be stored by the client along with whatever authentication method the client uses.

*Float getHandicap(String playerId)
**Return the handicap for a given player's UUID, null if it has not been established yet.

*String[] getPlayerName(String playerId)
**Return player's first name in array index 0, last name in array index 1

*Course[] getCourseChoices()
**Return a list of courses to add a round to
**Course in this case only includes Name, location, and tees played

*Course getCourseDetails(Long courseId)
**Return full information about the holes played

*void addCourse(Course courseDetails)
**Add a new course to the system.

*void addRound(String playerId, Hashtable roundDetails)
**Add a round (Simple or Detailed) to a player

*Round[] listRounds(String playerId, RoundFilter filterBy)
**List all rounds that a player has played, sorted by date.
**RoundFilter used to restrict returned rounds by various metrics (date, course, tees, etc.)

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.