Social mobile app where people discuss topics across nationalities and locations. Built with Expo SDK 54 · Firebase · React Native · TypeScript
Before you start, make sure you have:
- Node.js 18+ — nodejs.org
- npm 9+ (comes with Node.js)
- Expo Go on your phone — iOS App Store · Google Play
- A Firebase project (free Spark plan is enough)
git clone <repo-url>
cd yodin
npm install- Go to console.firebase.google.com → Add project
- Enter a project name → Continue → Create project
Build → Authentication → Get started → Sign-in method Enable Email/Password → Save
Build → Firestore Database → Create database Choose Start in production mode → pick any region → Done
Build → Storage → Get started → Next → Done
Project Settings (gear icon) → General → Your apps → Add app → Web (</>)
Register the app, then copy the config object that appears:
const firebaseConfig = {
apiKey: "...",
authDomain: "...",
projectId: "...",
storageBucket: "...",
messagingSenderId: "...",
appId: "..."
};cp .env.example .envOpen .env and paste in the values from the config above:
EXPO_PUBLIC_FIREBASE_API_KEY=your_api_key
EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
EXPO_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
EXPO_PUBLIC_FIREBASE_APP_ID=your_app_id
Install the Firebase CLI:
npm install -g firebase-tools
firebase loginConnect the CLI to your project:
firebase use --addSelect your project from the list, give it an alias (e.g. default), then deploy:
firebase deploy --only firestore,storageThis deploys:
firestore.rules— security rules for the databasefirestore.indexes.json— composite indexes required for queriesstorage.rules— rules for avatar photo uploads
Note: Firestore index building takes 2–5 minutes. The feed will appear empty until they are ready.
npx expo startA QR code will appear in the terminal.
- Android — open the Expo Go app → tap Scan QR Code
- iPhone — scan the QR code with the default Camera app (it opens Expo Go automatically)
Your phone and computer must be on the same Wi-Fi network.
| Symptom | Fix |
|---|---|
| Black screen on launch | Check that all .env values are correct, then press r in the Metro terminal to reload |
| Empty feed after login | Firestore indexes are still building — wait a few minutes and pull to refresh |
Network request failed |
Phone and computer must be on the same Wi-Fi network |
| Auth errors on register / login | Confirm Email/Password is enabled in Firebase Authentication |
| Photo upload fails | Check that Storage is enabled and storage.rules was deployed |
expo go algolia trello domains i18n firebase secret firebase functions Moderation system gmail verification password reset
Firt Version 1.0