A full-featured React Native mobile application connecting room seekers with room owners, eliminating brokers and reducing rental costs. Published on Google Play Store.
RentMeRoom is a production-ready cross-platform mobile application that provides a modern, user-friendly platform for discovering, listing, and managing room rentals with real-time communication capabilities.
- Platform: iOS & Android (Cross-platform)
- Version: 1.0.4
- Status: Live on Google Play Store
- Multi-method Authentication - Email/Password, Phone OTP, Google Sign-In
- Room Listings - Create detailed listings with up to 5 photos
- Advanced Search - Location-based search with filters (price, type, keywords)
- Interactive Maps - Google Maps integration with custom markers and clustering
- Real-time Messaging - One-on-one chat with photo sharing
- Social Features - Favorites, comments, user blocking, reporting
- Push Notifications - Real-time alerts for messages and replies
- Offline Support - Data caching and synchronization
- Monetization - Google AdMob integration
- Intuitive bottom tab navigation
- Photo reordering and management
- Verified user badges
- Bulk post management
- Network status monitoring
- Smooth animations and transitions
- React Native (0.81.5) - Cross-platform mobile framework
- React (19.1.0) - UI component library
- Expo (~54.0.30) - Development platform
- React Navigation - Multi-stack navigation system
- TypeScript (5.9.2) - Type-safe development
- Firebase Authentication - Multi-provider auth system
- Cloud Firestore - Real-time NoSQL database
- Firebase Storage - Image hosting and management
- Firebase Cloud Messaging - Push notifications
- Google Maps API - Location services and geocoding
- Google AdMob - Mobile advertising platform
{
"@react-native-firebase/app": "^23.8.6",
"@react-native-google-signin/google-signin": "^16.1.1",
"react-native-google-mobile-ads": "^16.0.1",
"react-native-maps": "1.20.1",
"expo-location": "~19.0.8",
"expo-notifications": "~0.32.15",
"@react-native-async-storage/async-storage": "2.2.0"
}RentMeRoom/
โโโ src/
โ โโโ components/ # Reusable UI components
โ โ โโโ PostCard.js
โ โ โโโ FilterModal.js
โ โ โโโ LocationPicker.js
โ โ โโโ ...
โ โโโ screens/ # Application screens
โ โ โโโ HomeScreen.js
โ โ โโโ AuthScreen.js
โ โ โโโ CreatePostScreen.js
โ โ โโโ ChatDetailScreen.js
โ โ โโโ ...
โ โโโ services/ # Business logic & API calls
โ โ โโโ posts.js
โ โ โโโ messages.js
โ โ โโโ users.js
โ โ โโโ ...
โ โโโ config/ # Configuration files
โ โโโ hooks/ # Custom React hooks
โ โโโ utils/ # Helper functions
โ โโโ lib/ # Third-party integrations
โโโ assets/ # Images, fonts, icons
โโโ android/ # Android native code
โโโ App.js # Application entry point
โโโ app.json # Expo configuration
โโโ eas.json # EAS Build configuration
โโโ package.json # Dependencies
- Component-based Architecture - Modular, reusable components
- Service Layer Pattern - Separation of business logic
- Custom Hooks - Reusable stateful logic
- Error Boundary - Graceful error handling
- Async/Await - Modern asynchronous programming
- Firebase Security Rules for data protection
- Input sanitization and validation
- Secure authentication flows
- Privacy-focused data management
- User blocking and reporting system
- Home - Browse room listings with filters
- Search - Advanced search functionality
- Create Post - Quick listing creation
- Messages - Real-time conversations
- Profile - User dashboard
- Post Detail, Map View, Chat Detail, My Posts, Favorites, Blocked Users, Notifications, Settings, Help & Support, Privacy Policy
- Clean, modern interface design
- Smooth animations with React Native Reanimated
- Responsive layouts for all screen sizes
- Intuitive gesture controls
- Loading states and error handling
- Accessibility considerations
- Successfully published and approved
- Closed testing program implemented
- Compliant with all Google Play policies
- Optimized with ProGuard/R8
- EAS Build for automated builds
- Keystore management for app signing
- Environment-specific configurations
- Production-ready optimizations
- 18 Functional screens
- 170+ Total files
- 12 Reusable components
- 13 Service modules
- 19 Screen implementations
- Efficient list rendering with FlatList
- Image optimization and lazy loading
- Memoization for expensive computations
- Debounced search inputs
- Optimized Firebase queries with indexing
- Multi-provider authentication system
- Real-time data synchronization
- Location services and geocoding
- Push notification handling
- Ad monetization implementation
- Resolved Firebase authentication blocking on Android
- Fixed Google Maps black screen issues
- Implemented complex Firestore security rules
- Handled offline/online state transitions
- Optimized cross-platform compatibility
# Install dependencies
npm install
# Start Expo development server
npm start
# Run on Android
npm run android
# Run on iOS
npm run iosCreate a google-services.json file for Firebase configuration (Android).
Test credentials for reviewers:
- Email: rentmeroom.test@gmail.com
- Password: TestAccount2024!
Comprehensive documentation available:
- User Guide
- Interview Preparation Guide
- Testing Checklist
- Release Notes
- Privacy Policy
- React Native cross-platform development
- Native module integration
- Mobile UI/UX design patterns
- Touch gestures and animations
- Firebase ecosystem mastery
- Real-time database design
- Cloud storage management
- Authentication systems
- Google Maps API
- Google Sign-In
- AdMob advertising
- RESTful API consumption
- Version control with Git
- Agile methodology
- Comprehensive documentation
- Production deployment
- Payment integration for premium features
- AI-powered room recommendations
- Video tour capabilities
- Multi-language support
- Rating and review system
- Virtual room tours with AR
Developer: [Aarish Ahsaan]
- Email: [ahsaanaarish@gmail.com]
- LinkedIn: [www.linkedin.com/in/aarish-ahsaan]
- Portfolio: [Your Portfolio Website]
This project is licensed under the MIT License - see the LICENSE file for details.
Note: This is a portfolio project demonstrating full-stack mobile development capabilities. Some features may require API keys and Firebase configuration to run locally.