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.
- 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.
-
Install dependencies
You can use either npm or bun to install the project dependencies:
Using npm:
npm install
Using bun:
bun install
-
Start the app
npx expo start
bun start
-
Explore development options After starting the app, you can choose from the following options:
- Open the app in a Development Build
- Use an Android Emulator
- Try the app in an iOS Simulator
- Test with Expo Go
Want to reset your project? Run:
npm run reset-projectbun run reset-projectThis command moves the starter code to the app-example directory and sets up a blank app directory for fresh development.
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
Dive deeper into Expo development with these resources:
- Expo Documentation: Comprehensive guides and documentation.
- Learn Expo Tutorial: Build a cross-platform project step by step.
- File-Based Routing in Expo: Simplify navigation in your app.
Connect with the amazing Expo community:
- Expo on GitHub: Explore and contribute to Expo's open-source ecosystem.
- Discord Community: Chat with developers and ask questions.
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}'"
}-
For Android Simulator:
npm run android
or
bun run android
-
For iOS Simulator (requires macOS):
npm run ios
or
bun run ios
To publish your app, use the following command:
npx expo publishThis will create a public link to your app that can be shared with others.
- Integration with Zustand for state management.
- LocalStorage for offline data persistence.
This project is licensed under the MIT License. Feel free to use it in your own projects!