Production monorepo for the DineIN mess-management admin app.
DineIN-Admin/
├── frontend/ # React Native (Expo) admin app
├── backend/ # Node.js / Express API
├── README.md
└── .gitignore
- Node.js 20+
- Expo CLI and EAS CLI for mobile builds
- MongoDB (for backend)
cd frontend
npm install
npx expo startCopy frontend/.env.example to frontend/.env and set:
EXPO_PUBLIC_API_BASE_URL=http://localhost:5000For production builds, EXPO_PUBLIC_API_BASE_URL is also set in frontend/eas.json per profile.
cd frontend
eas build --platform android --profile production
eas update --channel production --message "OTA update"Or use npm scripts:
npm run eas:build:android:production
npm run eas:update:productioncd backend
cp .env.example .env
npm install
npm startDevelopment with auto-reload:
npm run devThe mobile app reads EXPO_PUBLIC_API_BASE_URL (see frontend/config.js). Point it at your backend origin without a trailing /api — screens append /api/... themselves.
Local default: http://localhost:5000 (backend PORT in .env, default 5000).
Database backup, restore, and billing jobs live in backend/package.json (e.g. npm run backup:mongo:gdrive from backend/).