Skip to content

aarishascension/RentMeRoom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

RentMeRoom - Room Rental Mobile Application

React Native Expo Firebase License

A full-featured React Native mobile application connecting room seekers with room owners, eliminating brokers and reducing rental costs. Published on Google Play Store.

๐ŸŽฏ Project Overview

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

๐Ÿš€ Key Features

Core Functionality

  • 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

User Experience

  • Intuitive bottom tab navigation
  • Photo reordering and management
  • Verified user badges
  • Bulk post management
  • Network status monitoring
  • Smooth animations and transitions

๐Ÿ› ๏ธ Technical Stack

Frontend

  • 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

Backend & Services

  • 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

Key Libraries

{
  "@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"
}

๐Ÿ“ Project Structure

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

๐Ÿ—๏ธ Architecture & Design Patterns

  • 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

๐Ÿ”’ Security Features

  • Firebase Security Rules for data protection
  • Input sanitization and validation
  • Secure authentication flows
  • Privacy-focused data management
  • User blocking and reporting system

๐Ÿ“ฑ Screens & Navigation

Main Tabs

  1. Home - Browse room listings with filters
  2. Search - Advanced search functionality
  3. Create Post - Quick listing creation
  4. Messages - Real-time conversations
  5. Profile - User dashboard

Additional Screens

  • Post Detail, Map View, Chat Detail, My Posts, Favorites, Blocked Users, Notifications, Settings, Help & Support, Privacy Policy

๐ŸŽจ UI/UX Highlights

  • 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

๐Ÿšข Deployment

Google Play Store

  • Successfully published and approved
  • Closed testing program implemented
  • Compliant with all Google Play policies
  • Optimized with ProGuard/R8

Build System

  • EAS Build for automated builds
  • Keystore management for app signing
  • Environment-specific configurations
  • Production-ready optimizations

๐Ÿ“Š Project Metrics

  • 18 Functional screens
  • 170+ Total files
  • 12 Reusable components
  • 13 Service modules
  • 19 Screen implementations

๐Ÿ’ก Technical Achievements

Performance Optimizations

  • Efficient list rendering with FlatList
  • Image optimization and lazy loading
  • Memoization for expensive computations
  • Debounced search inputs
  • Optimized Firebase queries with indexing

Complex Integrations

  • Multi-provider authentication system
  • Real-time data synchronization
  • Location services and geocoding
  • Push notification handling
  • Ad monetization implementation

Problem Solving

  • 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

๐Ÿ”ง Development Setup

# Install dependencies
npm install

# Start Expo development server
npm start

# Run on Android
npm run android

# Run on iOS
npm run ios

๐Ÿ“ Environment Variables

Create a google-services.json file for Firebase configuration (Android).

๐Ÿงช Testing

Test credentials for reviewers:

๐Ÿ“„ Documentation

Comprehensive documentation available:

  • User Guide
  • Interview Preparation Guide
  • Testing Checklist
  • Release Notes
  • Privacy Policy

๐ŸŽ“ Skills Demonstrated

Mobile Development

  • React Native cross-platform development
  • Native module integration
  • Mobile UI/UX design patterns
  • Touch gestures and animations

Backend & Cloud

  • Firebase ecosystem mastery
  • Real-time database design
  • Cloud storage management
  • Authentication systems

API Integration

  • Google Maps API
  • Google Sign-In
  • AdMob advertising
  • RESTful API consumption

Development Practices

  • Version control with Git
  • Agile methodology
  • Comprehensive documentation
  • Production deployment

๐Ÿ”ฎ Future Enhancements

  • Payment integration for premium features
  • AI-powered room recommendations
  • Video tour capabilities
  • Multi-language support
  • Rating and review system
  • Virtual room tours with AR

๐Ÿ“ž Contact

Developer: [Aarish Ahsaan]

๐Ÿ“œ License

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.

Releases

No releases published

Packages

 
 
 

Contributors