https://github.com/dharmveer97/react-native-starter-kit-2024
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.
https://github.com/dharmveer97/react-native-starter-kit-2024
eslint expo react react-native zustand
Last synced: 5 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/dharmveer97/react-native-starter-kit-2024
- Owner: dharmveer97
- Created: 2024-12-21T22:04:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-21T22:31:23.000Z (over 1 year ago)
- Last Synced: 2025-06-27T01:39:27.762Z (about 1 year ago)
- Topics: eslint, expo, react, react-native, zustand
- Language: TypeScript
- Homepage:
- Size: 804 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# **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:
```bash
npm install
```
Using bun:
```bash
bun install
```
2. **Start the app**
```bash
npx expo start
```
```bash
bun start
```
3. **Explore development options**
After starting the app, you can choose from the following options:
- Open the app in a [Development Build](https://docs.expo.dev/develop/development-builds/introduction/)
- Use an [Android Emulator](https://docs.expo.dev/workflow/android-studio-emulator/)
- Try the app in an [iOS Simulator](https://docs.expo.dev/workflow/ios-simulator/)
- Test with [Expo Go](https://expo.dev/go)
---
## **🔄 Get a Fresh Project**
Want to reset your project? Run:
```bash
npm run reset-project
```
```bash
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](https://docs.expo.dev/router/introduction/). 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:
- [Expo Documentation](https://docs.expo.dev/): Comprehensive guides and documentation.
- [Learn Expo Tutorial](https://docs.expo.dev/tutorial/introduction/): Build a cross-platform project step by step.
- [File-Based Routing in Expo](https://docs.expo.dev/router/introduction/): Simplify navigation in your app.
---
## **🤝 Join the Community**
Connect with the amazing Expo community:
- **[Expo on GitHub](https://github.com/expo/expo)**: Explore and contribute to Expo's open-source ecosystem.
- **[Discord Community](https://chat.expo.dev)**: Chat with developers and ask questions.
---
## **🧩 Package Scripts**
Here are some helpful scripts to manage your Expo app:
```json
"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**:
```bash
npm run android
```
or
```bash
bun run android
```
- **For iOS Simulator** (requires macOS):
```bash
npm run ios
```
or
```bash
bun run ios
```
---
## **🌐 Publish Your App**
To publish your app, use the following command:
```bash
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](LICENSE). Feel free to use it in your own projects!
---
## **🚀 Ready to Build?**
```