Skip to content

Praise-Bah/BusTrackingApp

Repository files navigation

BusTrackingApp

A React Native mobile application built with Expo for tracking university buses and managing travel receipts. This app helps students and drivers manage their transportation efficiently within the ICT University campus.

Features

For Students

  • Real-time bus tracking on an interactive map
  • View bus schedules and routes
  • Receive notifications about bus arrivals
  • Upload and manage travel receipts
  • Profile management

For Drivers

  • Driver registration and authentication
  • Update bus location in real-time
  • View assigned routes
  • Manage schedule and availability
  • Profile management

Technology Stack

  • Frontend Framework: React Native with Expo SDK 52
  • Navigation: Expo Router
  • State Management: React Context API
  • Maps Integration: React Native Maps
  • Authentication: Supabase Auth
  • Database: Supabase
  • UI Components: Custom components with native styling
  • File Handling: Expo Document Picker
  • Icons: @expo/vector-icons

Prerequisites

  • Node.js (v18 or newer)
  • npm or yarn
  • Expo CLI
  • iOS Simulator (for Mac) or Android Studio (for Android development)

Installation

  1. Clone the repository:
git clone https://github.com/Praise-Bah/BusTrackingApp.git
cd BusTrackingApp
  1. Install dependencies:
npm install
  1. Create a .env file in the root directory and add your environment variables:
EXPO_PUBLIC_SUPABASE_URL=your_supabase_url
EXPO_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
EXPO_PUBLIC_GOOGLE_MAPS_API_KEY=your_google_maps_api_key
  1. Start the development server:
npx expo start

Project Structure

BusTrackingApp/
├── app/                    # Main application screens
│   ├── (apptabs)/         # Tab-based navigation screens
│   ├── (auth)/            # Authentication screens
│   ├── driver/            # Driver-specific screens
│   └── receipts/          # Receipt management screens
├── assets/                 # Static assets (images, fonts)
├── components/            # Reusable UI components
├── config/                # Configuration files
├── contexts/              # React Context providers
├── hooks/                 # Custom React hooks
├── lib/                   # Utility libraries
├── types/                 # TypeScript type definitions
└── navigation/            # Navigation configuration

Key Features Implementation

Receipt Management

  • List view of all receipts
  • Upload new receipts with transaction details
  • File attachment support for receipts
  • Date and bank information tracking

Driver Registration

  • Comprehensive signup form
  • Input validation
  • Secure password handling
  • Profile information management

Bus Tracking

  • Real-time location updates
  • Interactive map interface
  • Route visualization
  • Schedule integration

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

Praise-Bah - GitHub Profile

Project Link: https://github.com/Praise-Bah/BusTrackingApp

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published