This application is designed to enhance travel safety and accessibility for tourists exploring the rugged, low-connectivity mountain regions of Northern areas. The app provides essential itinerary planning and real-time location tracking capabilities to ensure secure navigation in remote environments with limited network coverage.
- Email/Password Authentication with Redux AuthSlice
- Google OAuth Integration for seamless login
- Secure Session Management with automatic token refresh
- User Profile Management with avatar support (in progress)
- ** Itinerary Generation** for Gilgit Baltistan regions
- AI-Powered cutom Itinerary Generation including weather travel alerts from NDMA and (in progress)
- Offline Itinerary Access with local storage
- Real-time Itinerary Updates across devices (in progress)
- Live GPS Tracking with Expo Location API
- Background Location Updates for continuous tracking (in progress)
- Route Optimization using Mapbox integration (todo)
- Dark/Light Theme support with context-based theming (todo)
- Multi-language Support (English/Urdu) (todo)
- Smooth Animations with React Native Reanimated
- Responsive Design for all screen sizes
- React Native (0.72.6) with Expo (49.0.15)
- TypeScript for type safety
- React Navigation
- React Native Reanimated for smooth animations
- React Hook Form
- Auth Service with email/password for authentication
-
- Google auth for authentication
- Mapbox SDK for maps and navigation
- Expo Location for GPS services
- Redux Toolkit for global state
- AsyncStorage for persistent data
- React Query for server state management
- Node.js (v16 or higher)
- npm or yarn
- Expo CLI
- iOS Simulator (Xcode) or Android Studio
- Clone the repository
git clone https://github.com/SehrishHussain/mobile.git
cd mobile
Install dependencies
bash
npm install
# or
yarn install
Configure environment variables
Start development server
bash
npx expo start
# or
npm start/api- API configuration and authentication services/components- Reusable UI components and styling/screens- Application screens organized by feature/hooks- Custom React hooks for state management/redux- State management with Redux/Context API/services- Core application services/utils- Utility functions and helpers
// Simplified auth flow
const { user, login, logout, register } = useAuth();Location Tracking
// Real-time location updates
useLocationTracking((location) => {
updateUserLocation(user.uid, location);
checkProximityToPointsOfInterest(location);
});
Itinerary Generation
// AI-powered itinerary creation
generateItinerary(preferences: UserPreferences): Promise<Itinerary> {
// Integrates with AI model for personalized recommendations
}
Building for Production
Android APK
expo build:android --type apk
iOS Build
expo build:ios
EAS Build (Recommended)
npm install -g @expo/eas-cli
eas build --platform android
eas build --platform ios
Custom Backend API – Handles user authentication and token management
Mapbox SDK – Maps, navigation, and geocoding
Expo Location – Native GPS functionality
Expo SecureStore – Secure credential storage
JWT Token Authentication
Input Sanitization and Validation
HTTPS Encryption for all API calls
We welcome contributions! Please follow these steps:
Fork the repository
Create your feature branch:
git checkout -b feature/amazing-feature
Commit your changes:
git commit -m 'Add some amazing feature
Push to the branch:
git push origin feature/amazing-feature
Open a pull request
This project is licensed under the MIT License – see the LICENSE file for details.
Sehrish Hussain
Note: This README reflects the current state of the repository. For the most up-to-date setup instructions, please refer to the latest commits and documentation.