A beautiful, intuitive recipe discovery app built with React Native and Expo
Discover thousands of recipes, save your favorites, and cook with confidence
- Featured Recipes: Discover daily featured recipes curated just for you
- Category Browse: Explore recipes by categories (Chicken, Beef, Pork, Lamb, etc.)
- Visual Categories: Beautiful category cards with appetizing images
- Pull-to-Refresh: Stay updated with fresh content
- Real-time Search: Find recipes instantly with debounced search
- Intelligent Results: Search by name, ingredient, or cuisine type
- Visual Grid: Browse search results in an elegant grid layout
- No Results Handling: Graceful fallback to random recipes
- Save Recipes: Bookmark recipes for quick access
- Persistent Storage: Favorites saved securely with Expo Secure Store
- Beautiful Empty State: Encouraging UI when no favorites exist
- Quick Access: Dedicated favorites tab for easy browsing
- Secure Login: Powered by Clerk authentication
- Email Verification: Robust verification system
- User Registration: Seamless onboarding experience
- Password Security: Show/hide password functionality
- Complete Instructions: Step-by-step cooking instructions
- Ingredient Lists: Organized ingredients with measurements
- Cooking Time: Preparation and cooking duration
- Serving Size: Number of servings information
- High-Quality Images: Stunning recipe photography
- React Native
0.79.6
- Cross-platform mobile framework - Expo
~53.0.22
- Development platform and toolchain - React
19.0.0
- UI library - TypeScript
~5.8.3
- Type safety
- Expo Router
~5.1.5
- File-based routing - React Navigation
^7.1.6
- Navigation library - Bottom Tabs
^7.3.10
- Tab navigation
- Clerk
^2.14.27
- Complete authentication solution - Expo Secure Store - Secure local storage
- Expo Image - Optimized image component
- Expo Linear Gradient - Beautiful gradients
- Expo Vector Icons - Icon library
- React Native Reanimated - Smooth animations
- Expo Blur - Blur effects
- TheMealDB API - Recipe data source
- Node.js (v16 or higher)
- npm or yarn
- Expo CLI
- iOS Simulator (for iOS development)
- Android Studio/Emulator (for Android development)
-
Clone the repository
git clone <repository-url> cd Recipe-App/mobile
-
Install dependencies
npm install # or yarn install
-
Set up environment variables
# Configure Clerk authentication keys in your Expo project # Add your API keys to the Expo configuration
-
Start the development server
npx expo start
npx expo start --dev-client
npx expo start --ios
npx expo start --android
npx expo start --web
Script | Description |
---|---|
npm start |
Start the Expo development server |
npm run android |
Open on Android emulator |
npm run ios |
Open on iOS simulator |
npm run web |
Open in web browser |
npm run lint |
Run ESLint for code quality |
npm run reset-project |
Reset to clean project state |
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add amazing feature'
- Push to branch:
git push origin feature/amazing-feature
- Open a Pull Request
- Follow ESLint configuration
- Use TypeScript for type safety
- Follow React Native best practices
- Write descriptive commit messages
This project is licensed under the MIT License - see the LICENSE file for details.
Built with β€οΈ by the Recipe App team
- Documentation: Expo Docs
- Community: Expo Discord
- Issues: Create an issue in this repository
Happy Cooking! π¨βπ³π©βπ³
Made with React Native & Expo