A React Native mobile app for browsing and managing a stock watchlist with theme support.
- 📊 Browse stock catalog with search
- ⭐ Add/remove stocks to watchlist
- 🌓 Light/Dark theme toggle
- 💾 Persistent preferences (theme, watchlist)
- 📱 Native navigation with React Navigation
- ✨ Smooth animations
- React Native - Mobile framework
- Expo - Development platform
- TypeScript - Type safety
- React Navigation - Native stack navigation
- Context API - State management
- AsyncStorage - Local persistence
- Jest - Testing framework
- Node.js 16+
- npm or yarn
- Expo Go app (for mobile testing)
# Install dependencies
npm install
# Start development server
npm start- iOS Simulator: Press
i - Android Emulator: Press
a - Web: Press
w - Expo Go: Scan QR code with your phone
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Run tests with coverage
npm run test:coverageTest Coverage: 15 tests covering data validation, utility functions, and context management.
See README.test.md for detailed testing documentation.
.
├── components/ # Reusable UI components
├── contexts/ # React Context providers
├── screens/ # Screen components
├── navigation/ # Navigation configuration
├── utils/ # Utility functions
├── data/ # Mock data
├── constants/ # Theme and constants
└── __tests__/ # Test files
npm start # Start Expo dev server
npm test # Run tests
npm run lint # Run ESLint
npm run test:watch # Run tests in watch modeMIT