BUS-Ticket mobile & web client - React Native (Expo) + Next.js monorepo for bus ticket booking
Go to file
user 299a91c83e Fix expo-local-authentication import, update ApiClient
- Remove expo-local-authentication dynamic import (causes build failure)
- Add stub biometric functions (disabled in this build)
- Update ApiClient login/register to match AuthContext usage
- Add requestOtp method to ApiClient

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 09:21:47 +00:00
app Make project portable with configurable API URL 2026-02-04 09:16:02 +00:00
assets BUS-Tickets Mobile v1.1.0 - Standalone Build 2026-02-04 08:54:11 +00:00
src Fix expo-local-authentication import, update ApiClient 2026-02-04 09:21:47 +00:00
.gitignore BUS-Tickets Mobile v1.1.0 - Standalone Build 2026-02-04 08:54:11 +00:00
app.json Make project portable with configurable API URL 2026-02-04 09:16:02 +00:00
babel.config.js BUS-Tickets Mobile v1.1.0 - Standalone Build 2026-02-04 08:54:11 +00:00
eas.json BUS-Tickets Mobile v1.1.0 - Standalone Build 2026-02-04 08:54:11 +00:00
expo-env.d.ts BUS-Tickets Mobile v1.1.0 - Standalone Build 2026-02-04 08:54:11 +00:00
metro.config.js BUS-Tickets Mobile v1.1.0 - Standalone Build 2026-02-04 08:54:11 +00:00
package-lock.json Remove native modules, add stubs for notifications and database 2026-02-04 09:06:14 +00:00
package.json Make project portable with configurable API URL 2026-02-04 09:16:02 +00:00
README.md Make project portable with configurable API URL 2026-02-04 09:16:02 +00:00
tsconfig.json Make project portable with configurable API URL 2026-02-04 09:16:02 +00:00

BUS-Tickets Mobile App

React Native / Expo mobile application for bus ticket booking.

Configuration

API URL Configuration

The app can connect to any compatible Odoo backend. There are several ways to configure the API URL:

Users can change the backend URL directly in the app:

  • Go to Settings > Backend > Change Backend
  • Enter the new API URL
  • Tap Connect

2. Environment Variables (Build-time)

Set environment variables before building:

export EXPO_PUBLIC_API_URL="https://your-api-server.com"
export EXPO_PUBLIC_INSTANCE_NAME="Your Company Name"

Then build with:

eas build --platform android --profile preview

3. Edit Default Configuration

Edit src/config/environment.ts to change the default API URL:

export const DEFAULT_API_URL = 'https://your-api-server.com';
export const DEFAULT_INSTANCE_NAME = 'Your Company Name';

If you want to use deep links for your domain, update these files:

  1. app.json - Update ios.associatedDomains and android.intentFilters
  2. Configure your server to serve the .well-known/apple-app-site-association and .well-known/assetlinks.json files

Development

# Install dependencies
npm install

# Start development server
npm run dev

# Build for Android
npm run build:android:preview

# Build for iOS
npm run build:ios:preview

Building

Android APK (Preview)

export EXPO_TOKEN="your-expo-token"
eas build --platform android --profile preview

iOS App (Preview)

export EXPO_TOKEN="your-expo-token"
eas build --platform ios --profile preview

Note: iOS builds require Apple Developer account credentials.

Project Structure

├── app/                    # Expo Router pages
│   ├── (tabs)/            # Tab navigation screens
│   ├── auth/              # Authentication screens
│   └── ...
├── src/
│   ├── components/        # Reusable UI components
│   ├── contexts/          # React contexts (Auth, Theme, Config, etc.)
│   ├── config/            # Configuration files
│   ├── hooks/             # Custom React hooks
│   ├── services/          # API client and services
│   ├── types/             # TypeScript type definitions
│   └── utils/             # Utility functions
├── assets/                # Images, fonts, etc.
└── app.json               # Expo configuration

Features

  • Multi-language support (Ukrainian, Czech, English)
  • Dark/Light/System theme
  • Offline mode with sync
  • QR code tickets
  • Multiple payment providers
  • Multiple bus operator support
  • OAuth authentication (Google, Facebook, Apple)

License

Copyright (c) 2024-2026 IT Enterprise