Full-stack project with a mobile/web frontend (Expo + React Native) and a backend API (Django + MongoDB tooling).
Frontend/GameStart- Expo application (expo-router, React Native)backend- Django backend API and database configuration
- Grok (xAI) - The roadmap includes a Grok-powered assistant for gaming Q&A, product help, and richer personalization. End-to-end integration with the Grok API is not finished yet and is scheduled for a near-term milestone.
- AI recommendations - The in-app chat calls the Django route
POST /com.gamestart/v1/ai/recommendationwith a JSON body such as{ "query": "…", "model": "…" }(optional model). The Expo chat UI lives inFrontend/GameStart/components/ChatWidget.tsx. While Grok is being wired up, local development uses Groq for completions: setGROQ_API_KEYinbackend/.env(seebackend/api/views.py). You can list models fromGET /com.gamestart/v1/ai/models.
- Order confirmation email - The backend is structured to send confirmation mail after checkout via
POST /com.gamestart/v1/orders/submitand the helper inbackend/api/email_service.py. A simple test handler exists atGET /com.gamestart/v1/test/email?recipient=user@example.com. - Not production-ready yet - SMTP-related settings (
EMAIL_*,DEFAULT_FROM_EMAIL) are driven by environment variables inbackend/GameStart_B/settings.py, but provider credentials, deliverability, and final order-email flows are still being finalized and will ship soon.
- Microsoft Azure (App Service) - The backend is hosted or targeted for Azure App Service (Linux). The app’s CORS configuration includes
https://gamestart-backend.azurewebsites.netinbackend/GameStart_B/settings.py. The frontend’s auth and some API calls use that same base URL inFrontend/GameStart/APICalls/(for examplecallProfileAPI.tsandorderAPI.ts). For local-only development, point calls athttp://127.0.0.1:8000where needed (the in-app AI chat inChatWidget.tsxstill defaults to localhost for the recommendation endpoint). - Production process model -
backend/Procfileruns the API with Gunicorn (gunicorn GameStart_B.wsgi), which is typical for App Service and similar PaaS hosts.requirements.txtincludesgunicorn. - MongoDB Atlas - Account and order helpers connect via
MONGO_URI(and related vars such asMONGO_DB,MONGO_USERS_COLL). Seebackend/MONGODB_ATLAS.mdfor Atlas setup, IP allowlists, and.envexamples. Do not commit database credentials. - Cross-origin API access -
django-cors-headersis enabled with development-friendly settings; tightenCORS_ALLOWED_ORIGINSbefore production if you stop usingCORS_ALLOW_ALL_ORIGINS. - Secrets and configuration - Use
backend/.envfor local development (loaded whenDEBUGis true). On Azure, configure the same variables (GROQ_API_KEY,MONGO_*,EMAIL_*, DjangoSECRET_KEY, etc.) in App Service → Configuration or Key Vault, not in source control.
- Node.js and npm
- Python 3.10+ (recommended)
- Expo CLI available through
npx - MongoDB connection (if running Mongo-backed features)
cd Frontend/GameStart
npm installcd ../../backend
python -m venv env
source env/bin/activate
pip install -r requirements.txtOn Windows (PowerShell), activate the environment with:
.\env\Scripts\Activate.ps1From Frontend/GameStart:
npx expo startCommon alternatives:
npm run android
npm run ios
npm run webFrom backend (with virtual environment activated):
python manage.py runserverDefault backend URL: http://127.0.0.1:8000/
- Frontend README is available at
Frontend/GameStart/README.md. - Backend dependencies are listed in
backend/requirements.txt. - Design and architecture notes (including broader cloud ideas such as Redis caching, CI/CD, or additional Azure services) live under
ASSIGNMENT/; treat them as documentation and planning, not necessarily as implemented features in this repo. - If environment variables are required for API/database access, create and configure your local
.envfile before running (backend/.envis loaded whenDEBUGis true). For AI chat during development, addGROQ_API_KEY. For email when it is enabled, add theEMAIL_*variables expected by Django.