A mobile application built with Expo, React Native, and Supabase.
- Node.js (v16 or newer)
- npm or yarn
- Expo CLI (
npm install -g expo-cli
) - Supabase account
- iOS Simulator (Mac only) or Android Emulator
-
Clone the repository: bash git clone [your-repo-url] cd [project-directory]
-
Install dependencies: bash npm install or yarn install
-
Create environment files: bash cp .env.example .env.local
-
Configure your environment variables in
.env.local
: EXPO_PUBLIC_SUPABASE_URL=your_supabase_url EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
Start the development server: bash npm start or yarn start
Then, press:
i
to open iOS simulatora
to open Android emulatorw
to open in web browser
This project uses EAS Build for production builds. Make sure you have an Expo account and EAS CLI installed:
bash npm install -g eas-cli eas login
To create a build: bash For iOS eas build --platform ios For Android eas build --platform android
├── app/ # App directory (Expo Router) │ ├── (app)/ # Main app routes │ └── layout.tsx # Root layout ├── store/ # State management ├── supabase/ # Supabase edge functions │ └── functions/ └── ...
- Expo - React Native framework
- React Navigation - Navigation
- Supabase - Backend and database
- TypeScript - Type safety
- Expo Router - File-based routing
Required environment variables:
EXPO_PUBLIC_SUPABASE_URL
: Your Supabase project URLEXPO_PUBLIC_SUPABASE_ANON_KEY
: Your Supabase anonymous key
Deploy Supabase Edge Functions:
bash supabase functions deploy list
- Configure EAS in
eas.json
- Build your app:
eas build --platform all
- Submit to stores:
eas submit
Take a shortcut from web developer to mobile development fluency with guided learning
Enjoyed this project? Learn to use React Native to build production-ready, native mobile apps for both iOS and Android based on your existing web development skills.