Wordle gives players six chances to guess a randomly selected five-letter word. The word level can be changed between 3, 4, 5, and 6 letter words, as well as number of chances you have.
- User Management: Create, retrieve users.
- Game History: Retrieve game history, optionally filtered by user ID, and add game results to the history.
- Word Bank: Retrieve a word bank by word length, retrieve a random word from the word bank, and add new words to the word bank.
- Python 3.8 or higher
python main.py
Below is an overview of the key components of the project structure:
api_layer/history_api.py: API endpoints for handling history-related operations.user_api.py: API endpoints for user management.word_bank_api.py: API endpoints for accessing the word bank.
common/constants.py: Defines constants used across the application.exceptions.py: Custom exceptions for the application.state.py: Shared state information across the application.
data_layer/repository/: Contains JSON files used as a simple data store.history.json: Stores game history data.users.json: Stores user data.word_bank/: Different JSON files for word banks of various lengths.
logic_layer/Game.py: Core game logic.HistoryService.py: Business logic for history tracking.ScoreBoard.py: Logic for managing scores.UserService.py: Business logic for user management.WordBankService.py: Logic for word bank operations.
models/History.py: Data model for game history.User.py: Data model for user.WordBank.py: Data model for word bank.
ui_layer/menu_manager.py: Manages the main menu UI.navigation.py: Handles navigation in the UI.views/: Contains individual views for different UI components.game_ui.py: UI for game interactions.history_ui.py: UI for displaying game history.score_board_ui.py: UI for the scoreboard.user_ui.py: UI for user management.word_bank_ui.py: UI for word bank display.
utils/helpers.py: Helper functions used across the application.printing.py: Functions to handle formatted printing.
main.py: The main entry point for the application.
navigation.json: Configuration for UI navigation.
- Milos Petrovic - github
- Tinna Maria Thorleifsdottir
This project is licensed under the MIT License - see the LICENSE.md file for details