A Twitter/X-like social media application built with React Native and Firebase. Users can post murmurs (tweets), follow other users, and like posts.
| Login | Home Timeline | Murmur Detail |
|---|---|---|
![]() |
![]() |
![]() |
| Followers | User Profile | Own Profile |
|---|---|---|
![]() |
![]() |
![]() |
- User authentication (Login/Register)
- Post murmurs with text content
- Follow/unfollow other users
- Like murmurs from other users
- View timeline of followed users' murmurs
- View user profiles with murmur lists
- Delete own murmurs
- Pagination support (10 murmurs per page)
- Framework: React Native 0.83.1
- Language: TypeScript
- Navigation: React Navigation (Native Stack & Bottom Tabs)
- Backend: Firebase
- Firebase Authentication
- Cloud Firestore
- State Management: React Context API
- Icons: React Native Vector Icons
src/
├── components/ # Reusable UI components
├── config/ # Firebase configuration
├── contexts/ # React Context providers
├── navigation/ # Navigation setup
├── screens/ # Screen components
├── services/ # API service layers
└── types/ # TypeScript type definitions
Before running this project, ensure you have completed the React Native Environment Setup.
Requirements:
- Node.js >= 20
- React Native CLI
- Android Studio (for Android)
- Xcode (for iOS, macOS only)
- CocoaPods (for iOS)
-
Clone the repository
-
Install dependencies:
npm install-
Set up Firebase:
- Create a Firebase project at Firebase Console
- Add your Firebase configuration to
src/config/firebase.config.ts - Enable Authentication and Firestore in your Firebase project
- Configure Firestore security rules (see
FIRESTORE_RULES.md)
-
For iOS, install CocoaPods dependencies:
bundle install
bundle exec pod install --project-directory=iosnpm startnpm run androidnpm run iosnpm run lintnpm test- users: User profiles and metadata
- murmurs: User posts
- follows: Follow relationships
- likes: Like relationships
For detailed schema information, see src/types/schema.types.ts.
auth.service.ts: Authentication operationsmurmur.service.ts: Murmur CRUD operationsfollow.service.ts: Follow/unfollow operationslike.service.ts: Like/unlike operations
If you encounter issues:
- Clear Metro bundler cache:
npm start -- --reset-cache- Clean build (Android):
cd android && ./gradlew clean && cd ..- Clean build (iOS):
cd ios && xcodebuild clean && cd ..For more help, see the React Native Troubleshooting Guide.
Private project





