Coordina is a MERN event booking app with authentication, event listing, bookings, Razorpay payments, and integrated ML-powered event search.
The Events page search bar sends MongoDB events to the local ML inference server. The ML server ranks the real database events with the committed trained model bundle, then the backend returns the ranked results to the React app.
The training scripts and raw training datasets are not required for normal use. Only the runtime inference code and trained model artifacts are included.
- Git LFS
- Node.js 18 or newer
- npm
- Python 3.10 or 3.11 for the pinned ML dependencies
- MongoDB Atlas connection string
- Razorpay test keys, if you want to test payments
This project stores the trained model files with Git LFS. After cloning:
git lfs install
git lfs pullThe required model bundle should exist at:
trained_models (1)/kaggle/working/
It must contain:
intent_classifier/
semantic_retriever/
faiss.index
events_lookup.json
index_metadata.json
Create server/.env:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
RAZORPAY_KEY=your_razorpay_key_id
RAZORPAY_SECRET=your_razorpay_secret
ML_SERVER_URL=http://127.0.0.1:8000Create client/.env if you want the Razorpay popup key available in the browser:
VITE_RAZORPAY_KEY=your_razorpay_key_idDo not commit real .env files.
From the project root, install the Python dependencies:
python -m venv .venvActivate the virtual environment.
Windows PowerShell:
.\.venv\Scripts\Activate.ps1macOS/Linux:
source .venv/bin/activateThen install and start the ML server:
pip install -r requirements.txt
uvicorn inference_server:app --host 127.0.0.1 --port 8000In another terminal, start the backend:
cd server
npm install
npm run devIn another terminal, start the frontend:
cd client
npm install
npm run devOpen the frontend URL shown by Vite, usually:
http://localhost:5173
GET /events
POST /events
POST /api/search/events
GET /api/search/health
POST /api/bookings
POST /api/payment/create-order
POST /api/payment/verify
POST /api/auth/register
POST /api/auth/login
- Commit runtime app files, inference files, and the trained model bundle.
- Do not commit real MongoDB, JWT, or Razorpay secrets.
- Do not commit training scripts, raw datasets, virtual environments, caches, logs, or build output.