A React Native (Expo) mobile app for discovering nearby travel stations and booking seats on the go.
Station Hub App is the passenger-facing mobile app of the Station Hub platform. It lets users discover nearby travel stations based on their location, browse station details and services, and book seats for a trip — all from a clean, easy-to-use mobile interface.
- 🔐 Authentication — Secure sign up / login with JWT-based sessions
- 📍 Location-Based Discovery — Find nearby stations using device location
- 🗺️ Set/Choose Location — Manually set or change location for more relevant results
- 🚏 Station Browsing — View station details, amenities, and available services
- 🎫 Seat Booking — Book seats with from/to location, travel date, time, and seat count
- 🎬 Onboarding & Splash Flow — Smooth first-launch experience for new users
- 👤 Profile Management — View and update personal info
- ⚙️ Settings — Manage app preferences
| Layer | Technology |
|---|---|
| Framework | React Native + Expo (Expo Router) |
| Navigation | React Navigation (bottom tabs) |
| Auth Backend | FastAPI + Firebase Admin SDK |
| Storage | AsyncStorage (local session caching) |
| Location | expo-location |
| Build/Deploy | EAS Build |
Station Hub App/
└── Frontend/
├── app/
│ ├── (auth)/ # Login & signup screens
│ ├── (tabs)/ # Main tab navigation screens
│ ├── onboarding/ # First-launch onboarding flow
│ ├── splash/ # Animated splash screen
│ ├── set-location.tsx
│ ├── choose-location.tsx
│ └── index.tsx
├── components/ # Reusable UI (BottomNav, themed components, etc.)
├── constants/ # Theme configuration
├── hooks/ # Custom hooks (color scheme, theme color)
└── utils/firebase.ts # Firebase client setup
git clone https://github.com/AAbdullahRajput/Station-Hub-Project.git
cd "Station Hub App/Frontend"
npm install
npx expo startScan the QR code with the Expo Go app, or run on an emulator:
npx expo start --android
# or
npx expo start --ioseas build --platform androidSensitive files such as google-services.json and Firebase credentials are excluded via .gitignore and should never be committed to version control. If a key is ever accidentally exposed, revoke it immediately and scrub it from git history.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page.
This project is licensed under the MIT License.
📱 Built with React Native + Expo