Skip to content

A free modern React Native Expo shop template with TypeScript, Redux Toolkit, Expo Router and Styled Components. Start building your beautiful mobile app effortlessly.

License

Notifications You must be signed in to change notification settings

CanciuCostin/react-native-expo-shop-template

Repository files navigation

React Native Expo Shop Template 🌟

Welcome to the React Native Expo Shop Template repository! This project is your go-to starter kit for building stunning, high-performance mobile applications using React Native and Expo. This template implements a lightweight e-commerce shop for customizable products. Plenty of features are available, although shopping cart is out of scope.

🌐 Demo

Run the app on your own device using Expo GO:

image

🚀 Features

  • Seamless Expo Integration: Effortlessly develop, build, and deploy your app with Expo's powerful tools.
  • Built-in UI: Leverage custom UI element, without any third party library.
  • Pre-configured Navigation: Ready-to-use navigation setup with Expo Router.
  • State Management: Integrated state management with Redux Toolkit
  • Internationalization: Multi-language support using i18n.
  • Stripe Integration: Accept payments easily using Stripe.
  • Customizable Themes: Easily switch between light and dark themes.
  • Responsive Design: Built with responsive design principles to look great on any device.
  • TypeScript Support: Includes full TypeScript setup for safer and more robust code.
  • Component Library: Pre-built, reusable components to accelerate your development process.
  • ESLint & Prettier: Pre-configured with ESLint and Prettier for consistent and clean code.
  • Husky pre-commit hooks: Run ESLint & Prettier before you push your code.
  • Testing Ready: Setup for unit and integration tests with Jest and React Native Testing Library.
  • Video Player: Integrated modal with VideoPlayer component.
  • Splash Screen: Custom splash screen using Lottie animation:

📦 Quick Start

  1. Clone the repository:
git clone https://github.com/yourusername/react-native-expo-template.git
  1. Navigate to the project directory:
cd react-native-expo-shop-template

Note: If you want to skip Step 3, just clone the test branch which uses hardcoded data and does not require a web server. 3. Setup dummy server.

cd dummy_server
npm install
node index.js

Note: If you run the app on a real device, you will have to set EXPO_PUBLIC_BACKEND_URL accordingly inside .env. Otherwise, the emulator will resolve the 10.0.2.2 address to the host machine.

  1. Install app dependencies:
npm install
  1. Run the app:
npx expo start
  1. Optional - Set-up Stripe backend URL and publishable key Note: If you skip this step, the app will use the default Stripe backend from their official example.

  2. Linting & testing

npm run style:all
npm run test

🛠️ Customization

This template is easily customizable to fit your specific project needs.

🧩 Modular Architecture

Designed with a modular architecture to make it easy to add, remove, or update features without breaking the entire app.

🌍 Internationalization

Built-in support for internationalization (i18n), making it simple to localize your app for different languages and regions.

🤝 Contributing

We welcome contributions! Feel free to submit PRs and reach out to me.

📄 License

This project is licensed under the Apache-2.0 License - see the LICENSE file for details.

About

A free modern React Native Expo shop template with TypeScript, Redux Toolkit, Expo Router and Styled Components. Start building your beautiful mobile app effortlessly.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published