Skip to content
Public template

About

A clean starter template for React Native with Expo Router, TypeScript, and file-based routing.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

176 Commits

Folders and files

Repository files navigation

React Native Starter

An Expo (SDK 57) and React Native starter that is production-ready by configuration, not by installation: the foundation (routing, session, HTTP, storage, theming, error reporting, i18n, test setup) is in place, every third-party service sits behind a typed seam with a no-op or console default, and pointing it at your backend and providers is configuration and small adapters, not a rewrite. It ships no credentialed services.

Quick start

npm ci                 # Node 24 (.nvmrc); 24.3+ or 22.13+ also work
cp .env.example .env   # then see Getting Started for the backend URLs
npm start              # then press i, a, or w, or scan the QR code with Expo Go

Made a repository from this template? Run npm run init-project first: it sets your app's name and IDs and removes what belongs to the template (Getting Started).

Details, platforms, and troubleshooting: Getting Started.

What you get

  • Expo Router with a tab layout, a signed-out-only (auth) group, and a signed-in-only (app) group guarded by Stack.Protected (Conventions).
  • Session and auth: one SessionProvider, a backend-agnostic AuthAdapter, the token in the iOS Keychain / Android Keystore (memory only on web), and 401 handling (Connect Your Backend).
  • HTTP client with timeouts, typed ApiErrors, and the token sent only to trusted origins (API and Storage).
  • Validated configuration: environment variables checked with zod at startup, three build variants, EAS profiles (Environment Variables, App Config).
  • React Native Paper (Material Design 3) with one brand theme, light and dark (UI and Theming).
  • Seams for analytics, feature flags, push, OTA updates, error reporting, and i18n (Plug In a Provider, Error Reporting and Logging).
  • Tests: Jest and React Native Testing Library with shared mocks, full-app routing tests, and a coverage threshold in CI (Testing).
  • A removable demo: DummyJSON sign-in, a Todos API example, and a component showcase; npm run remove-demo deletes them (Remove the Demo).

Demo sign-in (with the demo backends on): emilys / emilyspass.

Documentation

Start with docs/README.md. The usual path:

  1. Getting Started: install, run, scripts.
  2. Make It Yours: everything to change for your app.
  3. Connect Your Backend: auth adapter, API, env.
  1. Remove the Demo.

State management

The session lives in SessionProvider; the starter adds no store library. Recipe: State Management shows Zustand, Redux Toolkit, Jotai, and React Context on top of it.

License

MIT

About

A clean starter template for React Native with Expo Router, TypeScript, and file-based routing.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages