Skip to content

This project aims to digitize the booking system for bus companies operating in Rwanda and neighboring countries. It includes a web app for bus companies and a mobile app for clients to book seats, manage trips, and handle payments.

Notifications You must be signed in to change notification settings

nrprosper/velo-tick-flutter-laravel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Velo-Tick - Ticket Booking Management System

Velo-Tick is a ticket booking management system designed to digitize the booking process for bus companies operating in Rwanda and neighboring countries. It consists of two main components: a web application for bus companies to manage trips and administrative tasks, and a mobile application for clients to book seats, manage trips, and handle payments.

Features

Web App for Bus Companies

  • Manage bus trips and schedules
  • Track seat bookings and availability
  • Generate and manage ticket QR codes
  • Administer users with roles and permissions
  • Access booking analytics and reports

Mobile App for Clients

  • Search and book bus seats
  • View and manage trip bookings
  • Process secure payments
  • Validate tickets via QR code scanning
  • Manage user profiles

Technologies Used Backend

  • Laravel 12: PHP framework for the backend
  • MySQL: Database hosted on freesqldatabase.com
  • Cloudinary: Storage for ticket QR codes
  • Spatie Roles and Permissions: User role and permission management
  • Docker: Containerization for deployment

Mobile App

  • Flutter: Cross-platform mobile app framework
  • Dio: API request handling
  • GetX: Routing management
  • Riverpod: State management

Deployment

  • Backend hosted on Render
  • Docker image available on Docker Hub

Repositories

Installation Instructions

Prerequisites

  • PHP and Composer (for Laravel)
  • Flutter SDK (for the mobile app)
  • Docker (optional, for containerized deployment)
  • Git (for cloning repositories)

Backend Setup

  1. Clone the repository:
git clone https://github.com/nrprosper/velo-tick-flutter-laravel.git
  1. Navigate to the backend directory:
cd velo-tick-flutter-laravel/backend
  1. Install PHP dependencies:
composer install
  1. Configure environment variables:
    • Copy .env.example to .env
    • Update .env with your MySQL database credentials (from freesqldatabase.com) and Cloudinary API keys
  • Run database migrations and seed data:
php artisan migrate --seed
  • Start the Laravel server:
 php artisan serve

Alternatively, use Docker:

docker pull nprosper/velotick-backend
docker run -p 8000:8000 nprosper/velotick-backend

Web App Setup

  1. Clone the web app repository:
git clone https://github.com/Muhinde234/Velotick-fn.git
  1. Navigate to the directory:
cd Velotick-fn
  1. Follow specific setup instructions in the repository’s README (e.g., install dependencies and start the server).

Mobile App Setup

  1. Ensure Flutter is installed and configured.
  2. Navigate to the mobile app directory:
cd velo-tick-flutter-laravel/mobile
  1. Install Flutter dependencies:
flutter pub get
  1. Run the app on an emulator or device:
flutter run

Usage

Mobile App

  • Launch the app on your device
  • Register or log in
  • Search for available trips, book seats, and manage your bookings

Deployment

Contributing

We welcome contributions! To get started:

  • Fork the repository
  • Create a branch for your feature or fix (git checkout -b feature-name)
  • Commit your changes (git commit -m "Add feature)
  • Push to your branch (git push origin feature-name)
  • Open a pull request with a detailed description

Contact

About

This project aims to digitize the booking system for bus companies operating in Rwanda and neighboring countries. It includes a web app for bus companies and a mobile app for clients to book seats, manage trips, and handle payments.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published