BOOP Web is a full‑stack word search puzzle generator, evolving from a CLI tool into a modern web application. It consists of:
- Backend API: A Python FastAPI service for puzzle generation and asset management.
- Frontend UI: A React app that provides an intuitive interface for users to easily configure, and download custom word-search puzzle books, making BOOP more accessible and user-friendly than ever, from anywhere and at any time.
- Features
- Tech Stack
- Prerequisites
- Installation
- Running the Application
- Project Structure
- API Documentation
- Contributing
- License
- Select difficulty levels, bonus modes, mask types, and grid sizes.
- Upload custom word lists, covers, and backgrounds.
- Live PDF puzzle preview and download.
- Responsive and accessible design.
- CLI‑free workflow for end users.
- Backend: Python, FastAPI.
- Frontend: React, Axios, React Router.
- Deployment: Vercel for frontend; Hugging Face with Docker SDK for backend.
- Node.js >= 16.x and npm or yarn.
- Python >= 3.9 and pip.
-
Clone repository:
git clone https://github.com/Muneer320/BOOP-web.git cd BOOP-web
-
Setup backend:
cd Backend python -m venv venv source venv/bin/activate # or venv\Scripts\activate on Windows pip install -r requirements.txt
-
Setup frontend:
cd ../frontend npm install # or yarn install
cd Backend
uvicorn main:app --reload
Backend will run at http://localhost:8000
.
cd frontend
npm start
Frontend will launch at http://localhost:3000
and proxy API calls to the backend.
BOOP-web/
├── Backend/ # FastAPI backend
│ ├── boop/ # BOOP core logic
│ ├── output/ # Generated PDFs
│ ├── routers/ # API endpoints
│ ├── upload/ # Temporary file storage for uploads
│ ├── main.py # API entry point
│ ├── requirements.txt # Python dependencies
│ ├── README.md # Backend docs
│ └── FUTURE_REQUIREMENTS.md
└── frontend/ # React frontend
├── src/ # Application source
├── public/ # Static assets
├── README.md # Frontend docs
└── FUTURE_REQUIREMENTS.md
For full details on endpoints, request/response schemas, and examples, see the Backend README.
Contributions are welcome! Please:
- Fork the repo and create a feature branch.
- Follow installation steps for local development.
- Write tests for new features.
- Submit a pull request to
main
.
See Backend FUTURE_REQUIREMENTS.md and Frontend FUTURE_REQUIREMENTS.md for roadmap.
This project is licensed under the MIT License. See LICENSE for details.