WholeExperience is a mobile application built with React Native and Expo, designed as a vacation rental platform similar to Airbnb. It connects guests, property owners, and cleaning staff, offering a seamless experience for booking, managing, and reviewing vacation apartments.

- Search & Filter: Find apartments by location, dates, price, and amenities.
- User Profiles: Distinct roles for guests, property owners, and cleaning staff.
- Booking System: Calendar-based availability and reservation management.
- Automated Check-in/Out: QR code or PIN-based access for guests.
- Push Notifications: Real-time updates for bookings, check-ins, and more.
- Integrated Chat: Direct messaging between guests and owners.
- Ratings & Reviews: Bidirectional feedback system for guests and owners.
- Secure Payments: Integrated with Stripe for safe transactions.
- Guests receive check-in instructions via push notification 24 hours prior.
- Temporary access code (QR or PIN) generated for check-in.
- Cleaning staff notified upon check-out confirmation.
- Post-checkout apartment condition verification.

- Framework: React Native with Expo
- Navigation: React Navigation 6
- State Management: Zustand
- Authentication: Firebase Auth
- Database: Firebase Firestore (real-time)
- Storage: Firebase Storage for images
- Maps: react-native-maps for interactive maps
- Notifications: Expo Notifications for push alerts
- Payments: Stripe SDK
- Splash/Onboarding: Welcome screens for new users.
- Authentication: Login and registration flows.
- Home: Search bar with filters for apartments.
- Apartment List: Results based on search criteria.
- Apartment Detail: Gallery, description, and booking options.
- Booking & Payment: Reservation and payment processing.
- User Profile: Role-specific dashboard (guest/owner/cleaning).
- My Bookings/Properties: Manage reservations or listings.
- Chat: In-app messaging for user communication.
- Settings: User preferences and account management.
-
Prerequisites:
- Node.js (v16+)
- Expo CLI (
npm install -g expo-cli
) - Firebase account
- Stripe account
-
Setup: bash git clone https://github.com/your-repo/WholeExperience.git cd WholeExperience npm install
- Responsive: Optimized for iOS and Android with dynamic layouts.
- UI/UX: Modern, intuitive design inspired by Airbnb, using Tailwind CSS for React Native.
- Accessibility: High-contrast colors, screen reader support, and touch-friendly components.
- Fork the repository.
- Create a feature branch (git checkout -b feature/your-feature).
- Commit changes (git commit -m "Add your feature").
- Push to the branch (git push origin feature/your-feature).
- Open a pull request.
- MIT License. See LICENSE for details.