Skip to content

Web base application that help travel agency to show case their package, allowing their customer to book an package online with payment gateway

License

Notifications You must be signed in to change notification settings

chengkangzai/SmartTT

Repository files navigation

SmartTT

Welcome to the GitHub page for SmartTT! This web-based application is crafted to help travel agencies streamline their operations and provide customers with a smooth booking experience. As the travel industry begins to bounce back from the COVID-19 pandemic disruptions, SmartTT stands out as a vital tool for boosting efficiency and enhancing service delivery.

Introduction

The travel sector has been hit hard by the pandemic, with restrictions greatly reducing face-to-face interactions and travel. Traditional booking methods like phone calls and walk-ins have become inefficient. SmartTT revolutionizes this process by offering an online platform where everything from booking to payment can be handled with ease.

Demo

Check out SmartTT live in action here: Demo.

Goals / Features

  • User Authentication : Secure login systems for all users.
  • Profile Management: Easily manage user profiles.
  • Role-Based Authorization: Ensures users only access appropriate features.
  • Tour and Trips Management: Create and manage listings.
  • Booking Management: Efficient handling of all bookings.
  • Automated Invoices and Receipts: Automates documentation.
  • Sales Reporting: Detailed insights into your business performance.
  • Manual Flight Management: Oversee flight arrangements manually.
  • Calendar Synchronization: Currently supports Microsoft Calendar (Gmail and iCloud coming soon).
  • Automated Chatbot: Guides users in choosing tours.
  • Multi-language Support: Available in English, Chinese, and Malay. Contributions for more languages are welcome!
  • Google Flight API integration.
  • Social media scheduling for announcements.
  • Comprehensive API for third-party integrations.
  • Development of a mobile application.

Getting Started

Requirement

Develepment / Deployment

  1. Clone the repository with git or GitHub Desktop.
  2. Go into the repo
git clone https://github.com/chengkangzai/SmartTT.git
cd SmartTT
  1. Copy the example environment file and Setting up the environment file
cp .env.example .env
  1. Now you have to fill up the environment file by your IDE/Code Editor

  2. Installing Dependencies

Important

Please ensure you have installed Composer, Node and npm.

  1. Installing dependencies
composer install
npm install
npm run dev
  1. Set up database
php artisan key:generate
php artisan migrate --seed
php artisan queue:work
  1. Server the application
php artisan server

visit http://localhost:8000 to see the website

Running the tests
composer test
Additional Enviroment File Configuration

To set up Algolia, you need to register the application on Algolia and get the API key and Application ID. Otherwise, you will not be able to use the search feature. After you get the API key and Application ID, you can set them in the .env file as shown below.

ALGOLIA_APP_ID=xxxxx
ALGOLIA_SECRET=xxxxx

Stripe API (Optional, if you dont collect money online)

To set up Stripe, you need to register the application on Stripe and get the API key. Otherwise, you will not be able to use the payment feature. After you get the API key, you can set it in the .env file as shown below.

STRIPE_KEY=xxxxx
STRIPE_SECRET=xxxxx
STRIPE_WEBHOOK_SECRET=xxxxx

Microsoft Graph API (Optinal, this will disallow customer to sync event to their calendar)

To set up Microsoft Graph to synchronize calendar, you need to register the application on Microsoft Graph and get the API key. Otherwise, you will not be able to use the calendar feature. After you get the API key, you can set it in the .env file as shown below. The feautre require you to have SSL certificate to work as the microsoft policy.

OAUTH_APP_ID=xxxx
OAUTH_APP_SECRET=xxxx
OAUTH_REDIRECT_URI=https://127.0.0.1:8000/dashboard/msOAuth/callback
OAUTH_SCOPES='openid profile offline_access user.read mailboxsettings.read calendars.readwrite'
OAUTH_AUTHORITY=https://login.microsoftonline.com/common
OAUTH_AUTHORIZE_ENDPOINT=/oauth2/v2.0/authorize
OAUTH_TOKEN_ENDPOINT=/oauth2/v2.0/token

Dialogflow (Optional, this will power the ChatBot)

To set up Dialogflow, you need to register the application on Dialogflow and get the service account json file from Google cloud Platform. Otherwise, you will not be able to use the chatbot feature. After you get the API key, you can set it in the .env file as shown below.

GOOGLE_CLOUD_PROJECT=<project-name>
GOOGLE_APPLICATION_CREDENTIALS=<full-path-to-service-account-json-file>

Amazon S3

To set up Amazon S3, you need to register the application on Amazon S3 and get the API key. Otherwise, you will not be able to use the storage feature. After you get the API key, you can set it in the .env file as shown below.

AWS_ACCESS_KEY_ID=xxxxx
AWS_SECRET_ACCESS_KEY=xxxxx
AWS_DEFAULT_REGION=xxxxx
AWS_BUCKET=xxxxx

SMTP (Email)

To set up Email service, you should enter your credential for the system to send email. Otherwise, you will not be able to use the email feature. Your .env should look somewhat like below.

MAIL_MAILER=smtp
MAIL_HOST=<SMTP host>
MAIL_PORT=<SMTP port>
MAIL_USERNAME=<email address>
MAIL_PASSWORD=<email password>
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="admin@smartTT.com"
MAIL_FROM_NAME=${APP_NAME}

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing & Code of Conduct

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

About

Web base application that help travel agency to show case their package, allowing their customer to book an package online with payment gateway

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published