Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/denoland/tic-tac-toe
A global, real-time multiplayer TicTacToe game for Deno 🦕
https://github.com/denoland/tic-tac-toe
deno fresh kv real-time tic-tac-toe
Last synced: 4 months ago
JSON representation
A global, real-time multiplayer TicTacToe game for Deno 🦕
- Host: GitHub
- URL: https://github.com/denoland/tic-tac-toe
- Owner: denoland
- License: mit
- Created: 2023-04-14T13:57:18.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-11T15:58:33.000Z (about 1 year ago)
- Last Synced: 2024-09-30T17:53:30.772Z (4 months ago)
- Topics: deno, fresh, kv, real-time, tic-tac-toe
- Language: TypeScript
- Homepage: https://tic-tac-toe-game.deno.dev
- Size: 338 KB
- Stars: 75
- Watchers: 14
- Forks: 8
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Tic-Tac-Toe
This is a global, real-time multiplayer Tic-Tac-Toe game written in Deno. It
persists game states in a Deno KV store, and synchronizes game state between
clients using the `watch()` feature of Deno KV.## Features
- Real-time multiplayer game
- Persistent game state and coordination using Deno KV
- Uses GitHub OAuth for authenticationThis project is hosted on Deno Deploy:
- Served from 35 edge locations around the world
- Scales automatically
- Data is a globally distributed Deno KV store with no setup required
- Code is deployed automatically when pushed to GitHub
- Automatic HTTPS (even for custom domains)
- Free for most hobby use cases## Example
You can try out the game at https://tic-tac-toe-game.deno.dev
![Screenshot](./static/screenshot.png)
## Development
To develop locally, you must create a GitHub OAuth application and set the
following environment variables in a `.env` file:```
GITHUB_CLIENT_ID=...
GITHUB_CLIENT_SECRET=...
```You can create a GitHub OAuth application at
https://github.com/settings/applications/new. Set the callback URL to
`http://localhost:8000/auth/oauth2callback`.You can then start the local development server:
```
deno task start
```