An educational mobile app built with Expo + React Native that helps kids practice early math with an engaging, space‑themed flow. It uses Expo Router for navigation, custom fonts, vector icons, and a short intro video that leads into an interactive worksheet.
- Home dashboard: progress bar, selectable levels, and coloring sheet previews.
- Math tab: space scene with a rocket button that launches an intro video.
- Auto‑advance: upon video completion, navigates to a math worksheet.
- Worksheet: apple‑count addition with multiple‑choice answers and progress tracking.
- Tabs for Literature, Science, and Settings (currently placeholders for expansion).
- React Native (Expo SDK 52)
- Expo Router for file‑based navigation
expo-avfor video playbackexpo-fontfor custom font loading (Education-Pencil)react-native-ui-libProgressBarreact-native-svgfor simple line/path graphics- TypeScript
- Node.js 18+ (required by Expo SDK 52)
- Git (optional)
- iOS: Xcode + Simulator, Android: Android Studio + Emulator, or Expo Go on a device
npm installStart the Expo dev server:
npm run startThen:
- Press
ito launch iOS Simulator - Press
ato launch Android Emulator - Or scan the QR code with Expo Go
npm run ios– start and open iOSnpm run android– start and open Androidnpm run web– start in a web browser (limited feature parity)npm test– run tests withjest-exponpm run lint– run Expo/ESLint checks
File‑based routes (Expo Router) live under app/:
app/_layout.tsx– root stack: tabs,math-video,math-worksheetapp/(tabs)/_layout.tsx– bottom tabs (Math, Home, Literature, Science, Settings)app/(tabs)/index.tsx– Home: progress, levels, coloring sheetsapp/(tabs)/math.tsx– Math scene with rocket → navigates to videoapp/math-video.tsx– Plays intro video, then routes to worksheetapp/math-worksheet.tsx– Apple addition multiple‑choice + progress barapp/components/LevelButton.tsx– Reusable circular level buttonapp/+not-found.tsx– Fallback route
Assets are under assets/:
assets/images/– icons, backgrounds, spritesassets/videos/–math-intro.mp4assets/fonts/–Education-Pencil.ttf(loaded viauseFonts)
- Open the Math tab and tap the rocket.
- A short intro video starts and enters fullscreen.
- When the video finishes, you’re taken to the worksheet.
- Select the correct sum (apple‑count). Correct answers advance to the next question; incorrect answers disable the chosen option so you can try again.
- The progress bar fills across questions. Returning to Home shows a separate progress display and level selector (visual only in current build).
- App name, icons, and splash are configured in
app.json. - Custom font: make sure
assets/fonts/Education-Pencil.ttfremains at the declared path. - No environment variables are required for the current feature set.
- Tests:
npm test(Jest viajest-expo) - Lint:
npm run lint
- Persist progress and selected level across sessions.
- Expand Literature and Science tabs with similar learning flows.
