G
YouTube TikTok Games
Skip to content
ndizeyedavidPublic

About

Hotel and Travel Itinerary Management System mobile app

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Repository files navigation

InnSync Mobile App

A modern hotel guest experience app built with React Native and Expo.

Tech Stack

  • Framework: Expo (React Native)
  • Navigation: Expo Router
  • State Management: Zustand
  • Data Fetching: React Query (TanStack Query)
  • Styling: Uniwind + Tailwind CSS
  • API: Axios with interceptors
  • Real-time: Socket.IO
  • Storage: Expo Secure Store
  • Haptics: Expo Haptics

Features

βœ… Implemented

  • Authentication: Sign in / Sign up, token refresh, secure storage
  • Welcome Screen: New post-signup screen with three distinct paths (Book, Link, Browse)
  • Onboarding: Guest info, preferences, meal plans, progress persistence, hotel selection
  • Hotel Search: Browse and select hotels with detailed views and map integration
  • Link Reservation: Link existing bookings using confirmation number
  • Home Screen: Digital key, quick actions, notifications
  • Orders: Menu browsing, order placement, order tracking
  • Itinerary: Daily agenda, activity booking
  • Digital Key: Press-and-hold unlock with haptic feedback, restart check-in
  • View Folio: Real-time billing and transactions
  • Profile: Personal info, settings (edit functionality working)
  • Security: Change password, 2FA setup, login history (UI complete)
  • Privacy: Data collection, sharing, deletion, export (UI complete)
  • Legal: Terms, privacy policy, cookies, open source
  • Amenities: Hotel amenities
  • Map View: POI markers, hotel location maps
  • Notifications: In-app notifications
  • Haptic Feedback: Added haptic feedback at key interaction points

πŸ“ Project Structure

innsync-alpha/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   β”œβ”€β”€ client.ts          # Axios client with interceptors
β”‚   β”‚   β”œβ”€β”€ endpoints.ts       # API endpoint definitions
β”‚   β”‚   └── types.ts           # TypeScript types
β”‚   β”œβ”€β”€ app/                   # Expo Router screens
β”‚   β”œβ”€β”€ components/            # Reusable components
β”‚   β”œβ”€β”€ constants/             # Config, constants
β”‚   β”œβ”€β”€ contexts/              # React contexts (Toast)
β”‚   β”œβ”€β”€ hooks/                 # Custom hooks
β”‚   β”œβ”€β”€ layout/                # Layout components
β”‚   β”œβ”€β”€ screens/               # Screen components
β”‚   β”œβ”€β”€ services/              # API service layer
β”‚   β”œβ”€β”€ store/                 # Zustand stores
β”‚   β”œβ”€β”€ types/                 # Additional types
β”‚   β”œβ”€β”€ utils/                 # Utilities
β”‚   └── global.css             # Global styles
β”œβ”€β”€ backend/                   # NestJS backend (separate repo)
β”œβ”€β”€ app.json
β”œβ”€β”€ package.json
└── metro.config.js

Getting Started

Prerequisites

  • Node.js
  • Expo CLI
  • iOS/Android simulator or physical device

Installation

# Install dependencies
npm install

# Start Expo
npm start

Backend Setup

The app requires the InnSync NestJS backend running on the same network. Update src/constants/config.ts with your backend IP.

Key Dependencies

{
  "expo": "~54.0.22",
  "expo-router": "~6.0.23",
  "zustand": "^5.0.0",
  "@tanstack/react-query": "^5.0.0",
  "axios": "^1.7.7",
  "socket.io-client": "^4.7.5",
  "react-hook-form": "^7.53.0",
  "zod": "^3.23.0"
}

Development

# iOS
npm run ios

# Android
npm run android

# Web
npm run web

About

Hotel and Travel Itinerary Management System mobile app

Topics

Resources

Stars

4 stars

Watchers

0 watching

Forks

Contributors

Languages