An Instagram-style mobile app for sharing and enjoying jokes, built with React Native and Expo.
- Feed Screen: Scroll through a curated list of jokes with interactive feedback options
- Stories: Instagram-style story viewer for featured joke content
- Premium Content: Subscription-based access to exclusive joke packs
- Interactive Feedback: React to jokes with Love, Funny, Hate, or Flag options
- iOS-Optimized: Built with iOS design patterns and interactions in mind
- Framework: React Native with Expo
- Language: TypeScript
- Navigation: React Navigation
- State Management: Zustand
- Styling: Styled Components
- Animations: React Native Reanimated
- Backend: Supabase (to be integrated)
- Node.js (v16 or later)
- npm or yarn
- iOS Simulator (via Xcode) or physical iOS device
- Expo Go app (for physical device testing)
-
Clone the repository:
git clone https://github.com/chris-s-stovall/GiantJokes-Frontend.git cd GiantJokes-Frontend
-
Install dependencies:
npm install --legacy-peer-deps
-
Start the development server:
./start-fresh.sh
Or manually:
npm start
- Press 'i' in the terminal to open in iOS simulator
- Or run
npm run ios
- Install Expo Go from the App Store
- Scan the QR code from the terminal
- The app will load on your device
src/
├── assets/
│ └── mock-data/ # Mock data for development
├── components/ # Reusable UI components
├── navigation/ # Navigation configuration
├── screens/ # Main app screens
└── types/ # TypeScript type definitions
start-fresh.sh
: Cleans up Metro bundler and starts fresh development servernpm start
: Start the Expo development servernpm run ios
: Run on iOS simulatornpm run lint
: Run ESLintnpm run typescript
: Type-check TypeScript files
- Monthly and yearly subscription options
- Exclusive joke packs
- Ad-free experience
- Premium content access
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is private and proprietary. All rights reserved.