# Project Details

## Project Name
- **GitHub repository:** [View the project on GitHub](https://github.com/Nehaasati/WordMaster.git)
**World Game**https://wordmaster-05vy.onrender.com/

## Project Overview

Word Game is a web application that allows players to participate in a word-based game, validate submitted words, manage game state, and view game results. The project includes a frontend client and a backend application that supports the game experience.

## Main Features

- Word validation for player submissions
- Classic game mode
- Player and game-state management
- Real-time communication with SignalR
- Shop panel and result page
- Responsive web interface
- Automated testing for core functionality

## Technologies Used

### Frontend

- React
- TypeScript
- Vite
- HTML and CSS
- SignalR client

### Backend

- ASP.NET Core
- SignalR
- Static frontend hosting through `wwwroot`

### Development Tools

- npm
- Vite
- Vitest
- Testing Library
- Playwright

## Testing Used

### Unit Tests

Unit tests are used to verify individual pieces of application logic in isolation.

Examples include:

- Testing whether valid words are accepted
- Testing whether invalid words are rejected
- Testing edge cases in the word-validation service

The word-validation tests are located in:

```text
frontend/services/wordValidator.test.ts
```

### Test Setup

Shared test configuration and setup are defined in:

```text
frontend/src/test/setup.ts
```

This setup supports the frontend test environment and prepares the required testing utilities before tests run.

### End-to-End Tests

Playwright is used for browser-based end-to-end testing. These tests can verify complete user flows, such as opening the application, interacting with the game, submitting words, and viewing results.

The Playwright configuration is located in:

```text
Testing/playwright.config.js
```

## Testing Approach

The project uses multiple testing levels:

1. **Unit testing** verifies individual services and functions.
2. **Component testing** can verify frontend components and user interactions.
3. **End-to-end testing** verifies complete workflows in a real browser.
4. **Type checking and build validation** help identify TypeScript and compilation problems before delivery.

## Project Summary

Built a full-stack real-time word game using React, TypeScript, Vite, ASP.NET Core, and SignalR. Implemented word validation, game-state handling, player interactions, and result views. Added automated unit tests with Vitest and browser end-to-end testing with Playwright to improve reliability and verify important user flows.

## Skills Demonstrated

- Full-stack web development
- React and TypeScript development
- REST and real-time application concepts
- SignalR integration
- Game-state management
- Unit and end-to-end testing
- Debugging and test-driven validation
- Frontend build tooling with Vite

## Short Project Description

**Word Game — Full-Stack Web Application**  
Developed a real-time word game using React, TypeScript, Vite, ASP.NET Core, and SignalR. Created word-validation logic, game-state management, player interactions, and result screens. Added Vitest unit tests and Playwright end-to-end tests to validate core functionality and user workflows.
