Skip to content

Latest commit

 

History

History
30 lines (15 loc) · 2.26 KB

ReactChallenge.md

File metadata and controls

30 lines (15 loc) · 2.26 KB

React TIC-TAC-TOE Frontend Code challenge

This challenge is designed to get you up to speed on some basic Javascript, UI, and Web fundamentals. Knowledge of Javascript is useful but not required given a basic understanding of another programming language such as Python, C++ or Java.

The following guides will be our main focus for the challenge:

https://reactjs.org/tutorial/tutorial.html

The challenge

The challenge is to follow the initial tutorial to get you familiar with React. After this there are some extensions to expand the game in unique ways, you can choose one or more of these suggestions or imagine an entirely new variation if you prefer. There is no formal time limit on the challenge, you can spend as much time as you like, however we don't expect you to spend more than 2-4 hours.

After the challenge you should be able to speak about your experience and your aproach to the challenge and feel more comfortable with Web Technologies such as Javascript, HTML&CSS and tools such as NPM.

First steps

The best starting point is to simply follow the main tutorial linked. This provides you with a basic overview of ReactJS, a Javascript framework for building UI components. Being a browser native language you can choose to complete this challenge directly in your browser or (preferred) create a local Git repository on your machine and follow the guide to installing NPM and NodeJs on your local machine. At the end of the Challenge please provide a link to a working repository or a CodePen with your work.

Next steps

After completing the basic tutorial, you can choose how to expand the functionality;

  • Expansion of the grid size of the game (4x4, 5x5, or dynamic) Note you'll need to adjust the game logic to recognize the expanded game moves and scoring options.

  • Adding a 'gravity' mode, where the game only allows the user to play moves at the lowest open spaces of the game board. Extra points if you can drop the pucks from any height.

  • You could choose to look at the styling and design of the game (CSS, images, and overall UX) The basic table is not the most engaging design for a player!

  • 3D Tic-Tac-Toe, 3-player games, or AI-based opponent - create your own variation of the game or expand in an entirely new direction - the choices are yours!