Epicodus Java Week 2 Extended Individual Project: Adds a scrabble game to dictionary using RESTful routing in Java & Spark and tested with jUnit.
Java CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Version 0.0.0: September 16, 2016

by Karen Freeman-Smith


Game Play:

  • Player order determined by drawing one tile, first letter in alphabet goes first (blank beats A)
  • Each player draws 7 tiles to fill rack
  • Turn options:
    • Pass (turn ends, scores 0)
    • Exchange tiles (any number of tiles may be returned, equal number drawn to replace them)
    • Play one or more tiles (score from all words formed added to total score)
    • Opposing players may challenge a word played, if not legitimate, word is removed and turn forfieted, otherwise challenging player loses next turn.
Behavior Input Output
Game Board with 15x15 grid new board rows=15, cols=15
Squares (on board): sample board
- premium 0,1,2,3,4 none, double letter score, triple letter score, double word score, triple word score
- location 1,1 row=1, column=1 (or A1)
- tile placeTile true
Tiles: 100 total tiles 2 blank tiles (scoring 0 points)1 point: E ×12, A ×9, I ×9, O ×8, N ×6, R ×6, T ×6, L ×4, S ×4, U ×42 points: D ×4, G ×33 points: B ×2, C ×2, M ×2, P ×24 points: F ×2, H ×2, V ×2, W ×2, Y ×25 points: K ×18 points: J ×1, X ×110 points: Q ×1, Z ×1
- value 1 1
- mark A A
- used drawTile true
- tiles getTiles, placeTile, drawTile 7, -1, +1
- words turn adds word to list
- score start, end_turn 0, +word score
- name "word" "word"
- definitions "a unit of a language", "a turn in scrabble" "a unit of a language", "a turn in scrabble"
- score "word" (4+1+1+2)=8


  • An instance of one class appears in the method of another class (ie: Objects are successfully saved within other objects).
  • Spark routes process GET and POST requests/responses successfully
  • Spark routes follow RESTful conventions.
  • All previous code review standards have been met (see below)
  • If prompted, you are able to discuss the flow of your code and concepts behind it with an instructor using the correct terminology.
  • Project is in a polished, portfolio-quality state.
  • Application works as expected.
  • Tests have complete coverage for all behaviors.
  • All tests are formatted correctly and pass.
  • Classes are encapsulated and getter methods are used to access properties.
  • Logic is easy to understand.
  • Build files are discluded from Git using a .gitignore file.
  • Code and Git documentation follows best practices (descriptive variables names, proper indentation and spacing, separation between front and back-end logic, detailed commit messages in the correct tense, and a well-formatted README).


Support & Contact

For questions, concerns, or suggestions please email karenfreemansmith@gmail.com

Known Issues

  • N/A

Technologies Used

Java, JUnit, Spark, Gradle


Licensed under the GNU General Public License v3.0

Copyright (c) 2016 Copyright Karen Freeman-Smith All Rights Reserved.