A kid-friendly memory game for iOS and Android built with React Native + Expo.
- 3 difficulty levels:
- Easy: 3 pairs (6 cards)
- Medium: 4 pairs (8 cards)
- Hard: 9 pairs (18 cards)
- Uses images from
assets/cardswithavp-logo.pngas the card back - Each game randomly selects pairs from the available front-image pool
- Consecutive games avoid reusing the exact same image set when spare images are available
- Scoreboard with level and completion time, stored locally
- Google AdMob banner displayed at the bottom
- Unit/UI tests with React Testing Library
- ESLint and Jest coverage support
- Install dependencies:
npm install- Run app:
npm run start
npm run ios
npm run androidnpm run lint
npm run test
npm run test:coverageThe app is configured with Google test IDs in app.json and uses TestIds.BANNER in development.
Before production release, replace test app IDs with your own AdMob app IDs.
npm install -g eas-cli
eas login
eas credentialsnpm run lint
npm run testeas build -p android --profile production
eas build -p ios --profile productioneas submit -p android --profile production
eas submit -p ios --profile production- Android submissions target the internal testing track by default (
submit.production.android.track = internalineas.json). build.production.autoIncrementis enabled ineas.json, so store build numbers are incremented automatically on each production build.- Keep
expo.versioninapp.jsonaligned with your app release version.