Getting Started

Introduction

eShop is a modern and feature-rich e-commerce mobile app template built using React Native. It supports both Android and iOS platforms and is based on the latest version of React Native. With over 15+ screens and 40+ reusable components, this app template is ready to power your next e-commerce project.

Navigation is already implemented and paired with a beautifully designed user interface. You can jump-start your project in minutes. It also includes bonus UI components such as gradient buttons. Whether you are building a prototype or launching a real product, eShop provides a solid foundation for any e-commerce app.

If you have any questions that are beyond the scope of this documentation, please feel free to email or contact us via our profile page or sent email on mohamedalaaabas93@gmail.com

πŸ“± Try the eShop App on Expo

Experience the app instantly using Expo Go without installing anything.

πŸš€ Open in Expo Go

You must have the Expo Go app installed on your device.

πŸ“¦ Download Android APK

Don’t have Expo Go? You can also download and install the app directly on Android.

⬇️ Download APK

Works on Android 5.0 and above

πŸš€ Features

User Authentication
  • Login with email/password
  • Social media login integration
  • User registration
  • Password recovery
Home Screen
  • Search functionality
  • Category browsing
  • Featured products
  • Special deals and offers
  • Banner advertisements
  • Latest products showcase
Product Management
  • Product categories
  • Search with filters
  • Product details with images and descriptions
  • Size and quantity selection
  • Related products
Shopping Features
  • Shopping cart management
  • Favorites/Wishlist
  • Multi-step checkout process
  • Multiple payment methods
  • Order tracking & history
User Profile
  • Profile & address management
  • Wishlist & orders
  • App settings customization

βš™οΈ Technical Features

  • Built with React Native
  • Written in TypeScript
  • Clean & modular architecture
  • Responsive design
  • Custom reusable components
  • Form validation
  • Image upload capability
  • Secure data handling

πŸ“ Project Structure


                              src/
                              β”œβ”€β”€ assets/         # Images, fonts, and other static files
                              β”œβ”€β”€ components/     # Reusable UI components
                              β”‚   β”œβ”€β”€ Account/
                              β”‚   β”œβ”€β”€ Cart/
                              β”‚   β”œβ”€β”€ Category/
                              β”‚   └── common/
                              β”œβ”€β”€ navigation/     # Navigation configuration
                              β”œβ”€β”€ screens/        # Main application screens
                              β”œβ”€β”€ services/       # API and other services
                              β”œβ”€β”€ styles/         # Global styles
                              └── utils/          # Utility functions and helpers
                                

πŸ“± Main Screens

Authentication

  • LoginScreen: User login
  • RegisterScreen: New user registration

Core Screens

  • HomeScreen: Main landing page
  • CategoriesScreen: Browse categories
  • ProductsScreen: Filtered product list
  • ProductDetailsScreen: Product detail page
  • CartScreen: Manage shopping cart
  • CheckoutScreen: Checkout steps

User Screens

  • ProfileScreen: Profile management
  • EditProfileScreen: Edit profile
  • OrdersScreen: Order tracking/history
  • FavoritesScreen: Wishlist items
  • SettingsScreen: Preferences

πŸ”§ Getting Started

Note: Make sure your development environment is set up as per the React Native setup guide.

Step 1: Start Metro

# Using pnpm
                              pnpm start
                                

Step 2: Run the App

Android

pnpm run android

iOS

# CocoaPods setup (iOS only)
                              bundle install
                              bundle exec pod install
                              
                              # Run the app
                              pnpm run ios

🀝 Contributing

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/AmazingFeature
  3. Commit your changes: git commit -m 'Add some AmazingFeature'
  4. Push to the branch: git push origin feature/AmazingFeature
  5. Open a Pull Request

πŸ“š Learn More

πŸ“ License

This project is licensed under the MIT License.

2025 Β© Mohamed Alaa.
Crafted with by M.Alaa