| --- |
| title: Crossword Puzzle Generator |
| emoji: π§© |
| colorFrom: blue |
| colorTo: purple |
| sdk: docker |
| pinned: false |
| license: mit |
| --- |
| |
| # Crossword Puzzle Generator |
|
|
| A full-stack web application for generating and solving crossword puzzles with various topics. |
|
|
| ## Features |
|
|
| - Topic-based crossword generation |
| - Interactive puzzle grid with proper visual formatting |
| - Clues display (Across and Down) |
| - Solution reveal functionality |
| - Responsive design |
|
|
| ## Prerequisites |
|
|
| - Node.js (v14 or higher) |
| - npm |
|
|
| ## Installation & Setup |
|
|
| 1. **Clone the repository** |
| ```bash |
| git clone <your-repo-url> |
| cd cross-words |
| ``` |
|
|
| 2. **Install backend dependencies** |
| ```bash |
| cd crossword-app/backend |
| npm install |
| ``` |
|
|
| 3. **Install frontend dependencies** |
| ```bash |
| cd ../frontend |
| npm install |
| ``` |
|
|
| ## Running the Application |
|
|
| ### Development Mode |
|
|
| 1. **Start the backend server** |
| ```bash |
| cd crossword-app/backend |
| npm run dev |
| ``` |
| The backend will run on `http://localhost:3001` |
|
|
| 2. **Start the frontend development server** (in a new terminal) |
| ```bash |
| cd crossword-app/frontend |
| npm run dev |
| ``` |
| The frontend will run on `http://localhost:5173` |
|
|
| 3. **Open your browser** and navigate to `http://localhost:5173` |
|
|
| ### Docker Deployment |
|
|
| **Build and run with Docker:** |
| ```bash |
| # From project root |
| docker build -t crossword-app . |
| docker run -p 7860:7860 -e NODE_ENV=production crossword-app |
| ``` |
|
|
| Open `http://localhost:7860` to access the application. |
|
|
| **For Hugging Face Spaces:** This repository is ready for Docker-based deployment. |
|
|
| ## How to Use |
|
|
| 1. Select one or more topics from the available options |
| 2. Click "Generate Puzzle" to create a new crossword |
| 3. Fill in the grid using the provided clues |
| 4. Click "Reveal Solution" to see the answers |
| 5. Click "Reset" to clear the grid and start over |
|
|
| ## Project Structure |
|
|
| ``` |
| cross-words/ |
| βββ crossword-app/ |
| β βββ backend/ # Node.js/Express API |
| β β βββ src/ |
| β β βββ package.json |
| β β βββ ... |
| β βββ frontend/ # React application |
| β βββ src/ |
| β βββ package.json |
| β βββ ... |
| βββ crossword.py # Original Python implementation |
| βββ README.md |
| ``` |
|
|
| ## Technology Stack |
|
|
| - **Frontend**: React, Vite, CSS |
| - **Backend**: Node.js, Express |
| - **Algorithm**: Backtracking-based crossword generation |
| - **Deployment**: Docker (ready for Hugging Face Spaces) |
|
|
| ## Documentation |
|
|
| For detailed technical documentation, deployment guides, and API specifications, see the [crossword-app README](./crossword-app/README.md). |