A web-based interactive game where teams solve puzzles through chat interactions.
- Python 3.7+
- Node.js 16+
- npm
git clone <repository-url>
cd CatchMe# Install Python dependencies
pip install -r requirements.txt
# Create environment file
copy .env.example .env
# Edit .env with your configurationcd client
npm install
cd ..python app.pyBackend runs on: http://localhost:5000
cd client
npm run devFrontend runs on: http://localhost:5173
Create .env file in root directory:
MONGODB_URI="your-mongodb-connection-string" but as of now in json for testing
MONGODB_DB_NAME="catch_me" should change it to supabase
GROQ_API_KEY="your-groq-api-key"
FLASK_ENV="development"
CatchMe/
├── app.py # Flask backend
├── db.py # Database connection
├── game_logic.py # Game logic
├── requirements.txt # Python dependencies
├── .env # Environment variables
├── client/ # React frontend
│ ├── src/
│ ├── package.json
│ └── vite.config.js
└── teams_data.json # Local database file
POST /api/start- Start new gameGET /api/status/<team_id>- Get team statusPOST /api/chat- Send chat message
- Backend: Flask with CORS enabled
- Frontend: React with Vite
- Database: JSON file-based storage
- Hot reload enabled for both frontend and backend
- Port conflicts: Change ports in app.py (backend) or vite.config.js (frontend)
- CORS issues: Ensure both servers are running on specified ports
- Database errors: Check teams_data.json file permissions