Skip to content
This repository has been archived by the owner on Jun 11, 2024. It is now read-only.

Latest commit

 

History

History
99 lines (63 loc) · 3.33 KB

README.md

File metadata and controls

99 lines (63 loc) · 3.33 KB

ThinkTwice Hackathon's 2022 Finalist Project

Major BOT

Major BOT is an IA/ML powered flight booking assistant that allows you to search available flights, given your geolocation and a destination of your choice. Besides, it can help you connect to a human assistant in case of need.

Our bot has the following features:

  • High tolerance to human error
  • High message throughput and low latency response
  • Easily scalable
  • Easily adaptable to other contexts

Our bot is built considering different services interactions, where our chatbot combines different external APIs and a chat service to provide a seamless costumer experience.

Authors

This project was developed by our team, Major BETos Alert:

Architecture

Major BOT Architecture

How to Run

To deploy Major BOT, run the following command:

docker-compose up --build

Ports

Our chatbot has the following services running:

ChatBOT API

This API can be found at /backend/flights_api/flights_api.py

API Documentation

Our API documentation can be found at http://127.0.0.1:8001/docs#/.

Major Flight Alert API

Major Flights Alert API

This API can be found at /backend/bot/chatbot.py

Our flights API uses two external APIs:

  • aviatiostack API - used to get real-time flights
  • AirLabs Data API - used to get nearby airports, given the user's location, this will allow us to recommend flights to the user interacting with the chatbot

API Documentation

Our API documentation can be found at http://127.0.0.1:5000/docs#/.

Major Flight Alert API

API Unit Tests

Our flights API also has some unit tests, which can be found at /backend/flights_api/flights_api_tests.py

garante roobustez resiliência face aos serviços (apis) externas (vai consumir)

Major Flight Alert API Unit Tests

Major Flight Alert API Unit Tests Results

XMPP Chat Manager API

This API is used to create and manage XMPP chatrooms in the ejabbered server.

API Documentation

Our API documentation can be found at http://localhost:8888/docs#/.

XMPP Chat Manager API

Future Work

  • Add range of possible flight dates;
  • Usability tests with users;
  • Improve intent heuristic selection;
  • Improve some live chat features and interactions;
  • Increase reliability using docker swarm;
  • Integrate with a real booking system;

Authors