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.
This project was developed by our team, Major BETos Alert:
- Eduardo Santos: eduardosantoshf
- Pedro Bastos: bastos-01
- Rafael Teixeira: rgtzths
To deploy Major BOT, run the following command:
docker-compose up --build
Our chatbot has the following services running:
- Major BOT - http://localhost:8080
- Chatbot API - http://localhost:8001/docs
- Chatbot API Documentation - http://localhost:8001/docs
- Major Flights Alert API - http://localhost:5000
- Major Flights Alert API Documentation - http://localhost:5000/docs
- XMPP HTTP Service - http://localhost:5443
- XMPP Chatroom API - http://localhost:8888
- XMPP Chatroom API Documentation - http://localhost:8888/docs
This API can be found at /backend/flights_api/flights_api.py
Our API documentation can be found at http://127.0.0.1:8001/docs#/
.
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
Our API documentation can be found at http://127.0.0.1:5000/docs#/
.
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)
This API is used to create and manage XMPP chatrooms in the ejabbered server.
Our API documentation can be found at http://localhost:8888/docs#/
.
- 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;
- Eduardo Santos: eduardosantoshf
- Pedro Bastos: bastos-01
- Rafael Teixeira: rgtzths