Welcome to our final project for the Advanced Software Development course! Our project is a software development project about the Book Scrabble game.
Book Scrabble is a Java and JavaFX software project that implements a word game where players create words using letter tiles that represent characters from books. The game includes a user-friendly interface that allows up to four players to play simultaneously. It features several algorithms, such as cache management and data structures for efficient word storage and retrieval. Overall, Book Scrabble is a fun and challenging game that tests players' word-building skills.
- Project presentation + demo video - click here to video
- Full JavaDoc - click here
Our software implementation of Book Scrabble includes the following features:
- A user-friendly interface that allows up to 4 players to easily start and play the game.
- Multi-threaded support for concurrent player actions.
- Algorithms for cache management, including LRU, LFU, and BloomFilter.
- Data structures for efficient word storage and retrieval.
- A dictionary that verifies the words created by players.
- A point system that calculates the score for each player based on the words they create.
Our project is built using the following technologies:
- Java: A popular programming language for developing robust, portable, and high-performance applications.
- JavaFX: A set of graphics and media packages that enables developers to design, create, test, debug, and deploy rich client applications that operate consistently across diverse platforms.
- LRU, LFU, and BloomFilter algorithms: Algorithms used for cache management.
- Data Structures: Efficient data structures used for word storage and retrieval.
- We follow the Scrum framework, holding weekly meetings to discuss progress and address obstacles.
- Jira is used to manage the project's status and milestones, including creating user stories and tracking progress.
- We work in sprints, with each sprint lasting one-two weeks, and prioritize user stories based on input from the team members
- At the end of each sprint, we have a sprint review and retrospective meeting to evaluate our progress and identify areas for improvement.
| Task | Team Members |
|---|---|
| - Implemented the HostModel logic | Ilay Cohen |
| - Implemented the GuestModel | Omer Ben David |
| - Implemented the HostServer logic | Yuval Ofek |
| - Implemented the ClientCommunication logic | Tal Mekler |
| - Tested the HostModel | Omer Ben David and Ilay Cohen |
| - Tested the HostServer | Tal Mekler |
| - Tested the GuestModel | Yuval Ofek |
| - Tested the ClientCommunication | Tal Mekler |
| - Whole code documentation (using javadoc) | Everyone |
| Art Design and build the game flow (Miro) | Tal Mekler |
To run our Book Scrabble game on your machine, follow these steps:
- Clone this repository onto your machine.
- Start the game by running the executable JAR file.



