A modern cross-platform mobile application starter template built with Expo and Firebase, featuring authentication and real-time database integration.
- Framework: Expo (SDK 52)
- Authentication: Firebase Authentication
- Database: Firebase
- Navigation: Expo Router
- UI Components: React Native with Expo's built-in components
- Icons: @expo/vector-icons
- Animations: React Native Reanimated
Before you begin, ensure you have the following:
- Node.js 18+ installed
- Expo CLI installed globally
- A Firebase project for authentication and backend services
- Generated project documents from CodeGuide for best development experience
- (Optional) Expo Go app installed on your mobile device
-
Clone the repository
git clone <repository-url> cd codeguide-expo-firebase
-
Install dependencies
npm install
-
Environment Variables Setup
- Copy the
.env.examplefile to.env:cp .env.example .env
- Fill in the environment variables in
.env(see Configuration section below)
- Copy the
-
Start the development server
npx expo start
-
Run the app:
- Scan the QR code with Expo Go (Android)
- Scan the QR code with Camera app (iOS)
- Press 'i' for iOS simulator
- Press 'a' for Android emulator
- Go to Firebase Console
- Create a new project
- Add an app to your project (iOS and Android)
- Copy the Firebase configuration object
- Set up the necessary Firebase services (Authentication, Firestore, etc.)
Create a .env file in the root directory with the following variables:
# Firebase Configuration
FIREBASE_API_KEY=your_firebase_api_key
FIREBASE_AUTH_DOMAIN=your_firebase_auth_domain
FIREBASE_PROJECT_ID=your_firebase_project_id
FIREBASE_STORAGE_BUCKET=your_firebase_storage_bucket
FIREBASE_MESSAGING_SENDER_ID=your_firebase_messaging_sender_id
FIREBASE_APP_ID=your_firebase_app_id- π Firebase Authentication
- π¦ Firebase Realtime Database/Firestore
- π± Cross-platform (iOS & Android)
- π¨ Modern UI with native components
- π File-based routing with Expo Router
- π Real-time Updates
- π± Responsive Design
- π« Smooth animations with Reanimated
codeguide-expo-firebase/
βββ app/ # Expo Router pages
βββ components/ # React Native components
βββ constants/ # Constants and configurations
βββ hooks/ # Custom hooks
βββ assets/ # Static assets
βββ documentation/ # Generated documentation from CodeGuide
The documentation folder contains all the generated markdown files from CodeGuide:
documentation/
βββ project_requirements_document.md
βββ app_flow_document.md
βββ frontend_guideline_document.md
βββ backend_structure_document.mdThese documentation files serve as a reference for your project's features and implementation details.
Contributions are welcome! Please feel free to submit a Pull Request.
To learn more about the technologies used in this project: