Skip to content

This project is a scalable starter template for Expo applications. It includes configurations for ESlint, Prettier, and Jest for a robust development workflow. Zustand will be added in the future for efficient state management with local storage integration. Perfect for building cross-platform apps with a structured, maintainable codebase.

Notifications You must be signed in to change notification settings

dharmveer97/react-native-starter-kit-2024

Repository files navigation

Expo Kickoff Starter Kit 2024 🚀

Welcome to your Expo app! 👋 This powerful starter template is designed to kickstart your next React Native project with Expo. Pre-configured with ESLint, Prettier, and a robust development workflow, it's perfect for building scalable cross-platform applications.


🛠 Features

  • Expo Router: Simplified file-based routing.
  • ESLint & Prettier: Enforced code quality and consistency.
  • Jest: Setup for comprehensive testing.
  • State Management: Future-ready for Zustand with LocalStorage.
  • Cross-Platform: Build apps for iOS, Android, and Web effortlessly.

📖 Get Started

  1. Install dependencies

    You can use either npm or bun to install the project dependencies:

    Using npm:

    npm install

    Using bun:

    bun install
  2. Start the app

    npx expo start
    bun start
  3. Explore development options After starting the app, you can choose from the following options:


🔄 Get a Fresh Project

Want to reset your project? Run:

npm run reset-project
bun run reset-project

This command moves the starter code to the app-example directory and sets up a blank app directory for fresh development.


📂 Project Structure

Your project uses file-based routing. Start developing by editing files in the app directory.

root/
├── app/                # Your app screens and components
├── scripts/            # Utility scripts like reset-project
├── node_modules/       # Dependencies
├── package.json        # Project configuration
└── README.md           # Project documentation

📚 Learn More

Dive deeper into Expo development with these resources:


🤝 Join the Community

Connect with the amazing Expo community:


🧩 Package Scripts

Here are some helpful scripts to manage your Expo app:

"scripts": {
    "start": "expo start --dev-client",
    "reset-project": "node ./scripts/reset-project.js",
    "android": "expo run:android",
    "ios": "expo run:ios",
    "web": "expo start --web",
    "test": "jest --watchAll",
    "lint": "bun eslint .",
    "lint:fix": "bun eslint . --fix",
    "format": "bun prettier --write '**/*.{js,jsx,ts,tsx,json,css,md}'"
}

Run the App in Simulators

  • For Android Simulator:

    npm run android

    or

    bun run android
  • For iOS Simulator (requires macOS):

    npm run ios

    or

    bun run ios

🌐 Publish Your App

To publish your app, use the following command:

npx expo publish

This will create a public link to your app that can be shared with others.


✨ Features in Development

  • Integration with Zustand for state management.
  • LocalStorage for offline data persistence.

📄 License

This project is licensed under the MIT License. Feel free to use it in your own projects!


🚀 Ready to Build?

About

This project is a scalable starter template for Expo applications. It includes configurations for ESlint, Prettier, and Jest for a robust development workflow. Zustand will be added in the future for efficient state management with local storage integration. Perfect for building cross-platform apps with a structured, maintainable codebase.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published