https://github.com/dp247/nyt-crossword
Open source web app for playing NYT Mini Crossword
https://github.com/dp247/nyt-crossword
Last synced: 9 months ago
JSON representation
Open source web app for playing NYT Mini Crossword
- Host: GitHub
- URL: https://github.com/dp247/nyt-crossword
- Owner: dp247
- License: gpl-3.0
- Created: 2025-09-01T23:29:16.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-09-02T22:21:21.000Z (9 months ago)
- Last Synced: 2025-09-03T00:19:35.202Z (9 months ago)
- Language: JavaScript
- Homepage:
- Size: 261 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🧩 NYT Mini Crossword (Unofficial Web App)
Play any New York Times Mini Crossword in a polished, game-like web app.
Built with **React + Tailwind CSS** on the frontend and an **Express proxy** backend that fetches JSON.
---
## ✨ Features
- ⬜ Dynamic crossword grid (supports 5×5, 6×6, and specials)
- 🔀 Random puzzle loader
- 🕒 Built-in timer with Start / Pause / Resume
- 👀 Clues hidden until the timer starts (then re-hidden on pause)
- ✅ Answer checking (correct = grey, wrong = red, blank = white)
- ⌨️ Keyboard navigation:
- Arrow keys move caret
- Typing auto-advances
- Backspace clears/moves back
- Space/Tab toggles Across/Down
- Home/End jumps to start/end of word
- 🎉 Surprise ending
---
## 🛠️ Tech Stack
**Frontend**
- React (via Vite)
- React Router
- Tailwind CSS
**Backend**
- Node.js + Express
- In-memory cache (1 hour TTL)
- Proxy headers required by NYT API
**Build Tools**
- Vite proxy in dev
- Docker for easy distribution
---
## Running locally
Clone and install dependencies:
```bash
git clone https://github.com/dp247/nyt-crossword.git
cd nyt-crossword
npm install
```
Run:
```bash
node server.js
npm run dev
```
Go to http://localhost:5173 to play!
## Running with Docker
Via GHCR:
```bash
docker run -p 3001:3001 ghcr.io/dp247/nyt-mini:latest
```
Via download:
```bash
git clone https://github.com/dp247/nyt-crossword.git
cd nyt-crossword
docker build -t nyt-mini .
docker run -p 3001:3001 nyt-mini
```
Go to http://localhost:3001 to play!