This is a clone of a popular word game - Wordle. The app is deployed on Vercel and can be accessed at https://nextjs-redux-wordle-clone.vercel.app
.
- The computer chooses a random five-letter word.
- You have six tries to guess the word by submitting a five-letter word each time.
- If a letter in your guess is in the correct position in the secret word, it will appear in green.
- If a letter in your guess is in the secret word but in the wrong position, it will appear in yellow.
- If a letter in your guess is not in the secret word, it will appear in gray.
- Game state management is handled with Redux Toolkit.
- The game is fully accessible and can be played with a keyboard.
- Unit tests and integration tests for Redux-connected components written in Jest and React Testing Library. They assert that the game logic is working as expected and that the components are rendered correctly.
- Full responsiveness - the game can be played on mobile devices.
- Next.js - Popular React framework for building server-side rendered applications. I haven't really utilized the SSR capabilities of Next.js in this project, but I chose it because it provides a great developer experience and makes it easy to build a production-ready React app.
- TypeScript - Statically typed language that provides better developer experience and code maintainability.
- Redux Toolkit - Library that simplifies the process of creating Redux stores and reducers.
- Sass - CSS preprocessor that makes it easy to create reusable styles.
- Material UI - React UI framework that provides pre-built components and styling.
- Jest - testing framework for JavaScript projects that works with various languages and libraries.
- React Testing Library - Testing utilities for React that encourage testing best practices.
To install and start the app locally, follow these steps:
- Clone the repo:
git clone https://github.com/NacomiTagiera/Wordle.git
- Install the dependencies:
npm install
- Start the development server:
npm run dev
- Open http://localhost:3000 with your browser to see the result.
The project includes unit and integration tests written in Jest and React Testing Library. To run all the tests, you can use:
npm run test