Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vladimirfomene/tic-tac-toe-web
Single page application that implements the classical Tic Tac Toe game using Minimax algorithm on a Node.js server
https://github.com/vladimirfomene/tic-tac-toe-web
Last synced: 8 days ago
JSON representation
Single page application that implements the classical Tic Tac Toe game using Minimax algorithm on a Node.js server
- Host: GitHub
- URL: https://github.com/vladimirfomene/tic-tac-toe-web
- Owner: vladimirfomene
- Created: 2020-03-08T08:53:29.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-11T02:05:33.000Z (almost 2 years ago)
- Last Synced: 2023-04-04T23:24:32.674Z (over 1 year ago)
- Language: JavaScript
- Size: 1.28 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 40
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tic-Tac-Toe-Web
For the apprenticeship challenge, I decided to develop a [Tic Tac Toe](https://en.wikipedia.org/wiki/Tic-tac-toe) game using Vue.js for
the frontend and Node.js for backend. The Vue.js app implements the game logic and the backend implements and serve the minimax algorithm which allows the computer to compete against the human. This application also uses MySQL database to keep track of the leaderboard of the game.# Game Implementation
## Frontend
The frontend is a single page application implemented with the Vue.js framework. It supports the game logic and the UI that allows people to play the game.## Backend
The backend is implemented with Node.js and more specifically with the Express.js framework. It exposes three endpoints:- An endpoint to get the move of the AI. This endpoint is served with a Minimax algorithm which derives the best move for the AI given a board state.
- An endpoint to get all the entries on the leaderboard in your database.
- An endpoint to create new entry on the leaderboard.## Testing
To proof my code, I decided implement unit test both on the frontend and the backend using the Jest testing framework.