Skip to content

vukan-markovic/virtual_assistant

Repository files navigation

Virtual assistant

App icon

Virtual Assistant is an application that you can chat with and that can give you advice, jokes, quotes or lyrics.

It can also perform tasks such as setting alarms, setting timers, converting units of measure and currencies, finding the meaning of words in a dictionary, finding a location on a map, finding news, providing weather information, opening a web page, and initiating actions such as adding a new contact, the internet search, navigation, sending email or text, or make a phone call.

You can communicate with the assistant via voice or text, and it supports multiple languages.

It can also recognize objects and text in the images you upload.

Login page Chatbot page 1 Chatbot page 2 Assistant language settings

Chatbot page 3 Speech language settings Chatbot page 4 Options menu

Getting Started

This project is built using Flutter, Dialogflow and Firebase.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

More information about Dialogflow can be found at the following links:

Flutter plugin for Dialogflow which was used in this project can be found here: Dialogflow Flutter plugin.

For more info on using Firebase with Flutter visit: Flutter Firebase documentation.

Running project

To run this project locally you must provide following:

  • Replace Credentials.admob_app_id and Credentials.admob_app_id constants in ad.dart file with your own Admob credentials to show ads. More on Admob on this site: Admob
  • Replace Credentials.twitter_consumerKey and Credentials.twitter_consumerSecret constants in login.dart file with your own Twitter keys to use Twitter login. Find more about Twitter login here: Twitter developer site
  • Add your own service account file to assets folder to communicate with your Dialogflow agent. More on building Dialogflow agents and set up sevice accounts on following links: Build agent, Setup service account
  • Connect app with your own Firebase project. More on that here: Adding Firebase to Android application
  • Add strings.xml file where you should add facebook_app_id and fb_login_protocol_scheme strings which represents keys used for Facebook login, and the already mentioned admob_app_id string for displaying advertisements
  • This is release version of application. To run your own release version you must provide your own files for app signing. To get information on how to build and release an Android app check out the following link: Building the app for release