Skip to content

About

Crossword puzzle generator and solver using React and Spring Boot.

Resources

Stars

0 stars

Watchers

0 watching

Forks

ย 
ย 

Latest commit

ย 

History

35 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿงฉ Crossword Crafter - 3D Algorithmic Word Puzzle Game

Welcome to Crossword Crafter, a full-stack web application that dynamically generates and solves crossword puzzles using advanced algorithmic techniques. Features an immersive 3D game experience powered by Three.js with animations, scoring system, hints, and victory celebrations!

Developed as part of the Design and Analysis of Algorithms (TCS-409) coursework, this project demonstrates the practical application of backtracking, Trie structures, BFS/DFS, and local search optimization strategies.

Crossword Crafter Spring Boot Three.js Java

๐Ÿ“Œ Project Overview

Crossword puzzles have long challenged players with language, logic, and pattern recognition. Our project moves beyond static puzzle design to dynamically generate and solve crosswords using efficient algorithms and optimized data structures.

This innovative solution showcases real-world use of algorithms in game-based systems and pushes the boundaries of NP-hard problem-solving using modern tech stacks.

๐ŸŽฎ Live Demo

  • Frontend: http://localhost:5173
  • Backend API: http://localhost:8081/api/crossword

๐Ÿš€ Features

Core Features

  • โœ… Dynamic grid generation with optimal word placement
  • โœ… Clue validation and automatic solver using backtracking
  • โœ… Trie-based fast dictionary lookup (511 words with clues)
  • โœ… Full-stack architecture with Spring Boot and React.js
  • โœ… H2 in-memory database (no external DB setup required!)
  • โœ… REST API backend with Axios communication

๐ŸŽฎ 3D Game Experience (NEW!)

  • ๐ŸŽฒ Three.js 3D Grid - Immersive 3D crossword puzzle with realistic lighting
  • โœจ Cell Animations - Hover effects, correct/incorrect feedback with colors
  • โฑ๏ธ Timer System - Track your solving time
  • ๐Ÿ† Score System - Points with streak multipliers (up to 5x combo!)
  • ๐Ÿ’ก Hint System - Get hints when stuck (limited per puzzle)
  • ๐Ÿ“Š Progress Bar - Visual completion tracking
  • ๐ŸŽ‰ Victory Modal - Confetti celebration on completion!
  • ๐Ÿค– Watch Solver - Watch the AI solve the puzzle step-by-step
  • ๐Ÿ”„ 2D/3D Toggle - Switch between classic and 3D modes

UI/UX Enhancements

  • ๐ŸŒˆ Gradient themes with purple/blue color scheme
  • ๐ŸŽจ Framer Motion animations throughout
  • ๐Ÿ“ฑ Responsive design for all screen sizes
  • ๐Ÿ”Š Visual feedback for correct/incorrect letters

๐Ÿงฑ Tech Stack

Frontend:

  • React.js 18.x
  • Three.js / @react-three/fiber / @react-three/drei
  • Framer Motion (animations)
  • Canvas Confetti (victory celebration)
  • Tailwind CSS
  • Axios

Backend:

  • Java 23 with Spring Boot 3.5.0
  • Spring Web, JPA, Jackson
  • H2 In-Memory Database
  • Server-Sent Events (SSE) for real-time solver

Architecture:

  • Clear separation of concerns with Controllers, Services, and Models
  • RESTful APIs using JSON for frontend-backend communication
  • Context-based state management in React
  • Component-based 3D scene architecture

๐Ÿง  Algorithms Used

  • Backtracking for word placement and solving
  • DFS / BFS for clue navigation and validation
  • Trie for efficient dictionary operations
  • Grid Optimization to maximize intersections and reduce empty space
  • Intersection Algorithm for placing words with shared letters

๐Ÿƒ Quick Start

Prerequisites

  • Java 23+
  • Node.js 18+
  • npm or yarn

Backend Setup

cd CrosswordFrontendBackend/crossword-solver
./mvnw spring-boot:run

Backend runs on http://localhost:8081

Frontend Setup

cd CrosswordFrontendBackend/frontend/frontend
npm install
npm run dev

Frontend runs on http://localhost:5173


๐Ÿ“ก API Endpoints

Method Endpoint Description
GET /api/crossword/puzzle Get a random crossword puzzle
POST /api/crossword/generate Generate a new puzzle
GET /api/crossword/solve SSE stream for watching solver

๐Ÿ“Š Team Information

Team Name: Divide and Conquer
Inspired by the classic algorithmic paradigm.

Member Role University ID Email
Mayank Singh Rawat Team Lead, Backend Lead 23011119 mayanksinghrawat.23011119@gehu.ac.in
Anshul Rawat UI Developer, Spring Boot Configuration 230114762 anshulrawat.230114762@gehu.ac.in
Krishiv Mohan Frontend Developer & State Manager 23011033 krishivmohan.23011033@gehu.ac.in
Aditya Kapruwan Grid Generator & Clue Validator 23011050 adityakapruwan.23011050@gehu.ac.in

๐Ÿ“ฆ Deliverables

  • โœ… Crossword Grid Engine with dynamic word fitting
  • โœ… React.js-based interactive crossword frontend
  • โœ… Spring Boot backend with API-based clue validation
  • โœ… H2 In-Memory database (zero configuration!)
  • โœ… Fully integrated frontend-backend communication using REST
  • โœ… 3D Game mode with Three.js
  • โœ… Score, timer, hints, and victory celebration
  • โœ… Watch Solver feature with real-time SSE
  • โœ… Responsive UI and clue interaction features

๐Ÿ“ธ Screenshots

๐ŸŽฎ 3D Game Mode

Immersive Three.js powered crossword experience

๐Ÿ  Home Page

Animated hero section with floating 3D letters

๐Ÿ† Victory Modal

Confetti celebration on puzzle completion


๐Ÿ”— Original Repository

This project was originally hosted in the team leader's repository:
๐Ÿ”— https://github.com/MayankisG/CrosswordSpring


๐Ÿ“„ License

This project is developed for educational purposes as part of TCS-409 coursework.


Made with โค๏ธ by Team Divide and Conquer

About

Crossword puzzle generator and solver using React and Spring Boot.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages