-
Install dependencies:
npm install
If you encounter peer dependency conflicts, you can use:
npm install --legacy-peer-deps
(This is usually not needed, but can help with version conflicts)
-
Start the development server:
npm start
-
Choose your platform:
- Press
ifor iOS simulator - Press
afor Android emulator - Press
wfor web browser - Scan QR code with Expo Go app on your phone
- Press
Activity.ts- Activity model with business logic methodsUser.ts- User model with role checking methods
BaseService.ts- Abstract base class for all API servicesActivityService.ts- Handles all activity-related API callsAuthService.ts- Handles authentication (ready for implementation)
HomeScreen.tsx- Landing pageActivitiesScreen.tsx- List of all activitiesAdminDashboardScreen.tsx- Admin features (desktop only)OfficePortalScreen.tsx- Office staff features (desktop only)
Button.tsx- Reusable button componentActivityCard.tsx- Activity display card
-
Configure AWS API:
- Update
src/utils/Config.tswith your API Gateway URL - Or set
EXPO_PUBLIC_API_URLenvironment variable
- Update
-
Add Assets:
- Add app icons and splash screens to
assets/directory - See
assets/README.mdfor details
- Add app icons and splash screens to
-
Implement Authentication:
- Complete token storage in
AuthService.ts - Add login/register screens
- Implement protected routes
- Complete token storage in
-
Connect to Backend:
- Deploy AWS Lambda functions
- Test API endpoints
- Update service methods as needed
- All services use singleton pattern - access via
Service.getInstance() - Models have helper methods like
isAvailable(),getRemainingSpots() - Platform detection:
PlatformDetector.getInstance().isDesktopPlatform() - Services automatically handle auth tokens via interceptors
# Type checking
npm run type-check
# Run on specific platform
npm run ios
npm run android
npm run web
# Build for production (web)
npm run build:web