- Maintained by:
Heegu Park
- A client requests to create a username to a server(If a user doesn't input the username, it will generate random username.)
- A client requests to create a room to a server(If a user doesn't input the room name, it will generate random room name.)
- A client receives the list of rooms from a server and displays it in real time.
- A client receives the list of player from a server and displays it where the user is in real time.
- A client lets the user to play alone with a computer or play with other player
- A client displays what other player plays in real time
- A server processes the request from a client to create username.
- A server processes the request from a client to create room and returns the list of rooms to the client using socket communication.
- A server processes the request from a client that a user enters a room and returns the result to the client using socket communication.
- A server processes the request from a client that a user starts a game with a computer or other player and returns the result to the client using socket communication.
- A server processes the request from a client that a user plays and returns the result to the other player's client via socket communication.
- Heavily used React to create all HTML elements(virtual DOM) to dynamically sync all data using socket.io via API server created by using Node.js
- Used Express to run the API server
- Used AWS EC2 for web and API server
- Used socket.io to broadcast all activites in real time
- Support most of mobile devices(iPad - Landsacpe/Portrait, iPhone X - Landsacpe/Portrait, iPhone 6s/7s/8s - Landsacpe/Portrait, iPhone 6/7/8 - Landsacpe/Portrait, and so on)
- User can create a username.
- User can create a room.
- User can view the list of rooms.
- User can enter a room.
- User can view the list of players.
- User can check the status of other player.
- User can play alone.
- User can play with other player.
- User can view how other player plays.
- Various ways of dynamically displaying data using React virtual DOM functions
- Experienced to deal with various functions of React virtual DOM
- Experienced to effectively use React and Bootstrap for displaying data
- React and JavaScript Object Oriented Programming for better functionalities and to increase the re-usage of codes
- Experienced to create API server using node.js to process the data with communicating with other clients and pass the data to client
- Experienced to use socket.io to broadcast all memos from other users in real time
- Experienced to deploy the web and API server into AWS EC2
- You can see and test the live version here: ttt.heegu.net
[Desktop]