An open API service indexing awesome lists of open source software.

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.

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?**

```