hello mohammed
Unified fullstack app for recommending movies with Islamic-lens analysis.
npm run install:allThis installs:
- Backend: FastAPI, Uvicorn, python-dotenv
- Frontend: Expo SDK 54, React Native, Axios
Windows:
npm startOr directly: .\start-simple.ps1
Linux/Mac:
npm run start:unixOr directly: bash start.sh
The script will:
- ✅ Auto-detect your local IP address
- ✅ Start backend on http://127.0.0.1:8000
- ✅ Start frontend Expo server
- ✅ Configure frontend to connect to backend automatically
- Start the app with
npm start - Open Expo Go on your phone
- Scan the QR code that appears in terminal
- Make sure your phone and computer are on the same WiFi network
cd backend
py main.py # Windows
python main.py # Linux/Maccd frontend
npm startThe start script automatically:
- Detects your local IP address
- Configures frontend to connect to backend
- Works with Expo Go tunnel mode
For physical devices: The app will use your computer's local IP (e.g., http://192.168.1.100:8000)
For emulators:
- Android Emulator:
http://10.0.2.2:8000 - iOS Simulator:
http://localhost:8000
MTCHacks/
├── backend/ # FastAPI backend
│ ├── main.py # Run with: py main.py
│ └── ...
├── frontend/ # React Native Expo app (SDK 54)
│ ├── App.js # Auto-detects backend URL
│ └── ...
├── start.ps1 # Windows start script
├── start.sh # Linux/Mac start script
├── start.js # Cross-platform orchestrator
└── package.json # Root npm scripts
- One Command Setup:
npm startruns everything - Auto-Detection: Automatically finds backend URL
- Cross-Platform: Works on Windows, Linux, Mac
- Fully Local: No external APIs needed
- Single Profile: Simple, no authentication
GET /recommend- Get current movie recommendationsPOST /refresh- Refresh recommendationsGET /health- Health check
Port 8000 already in use:
# Find and kill process
netstat -ano | findstr :8000 # Windows
lsof -ti:8000 | xargs kill # Linux/MacFrontend can't connect to backend:
- Make sure backend is running (
http://127.0.0.1:8000/health) - Check firewall settings
- Ensure phone and computer are on same WiFi