Skip to content

A Google Action designed to work as a personal college companion for students.

License

Notifications You must be signed in to change notification settings

whatharshcodes/CollBeet-Assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CollBeet Assistant

CollBeet Assistant is a Google Action designed to work as a personal companion for college students. It will keep track of student essentials such as daily lecture schedules, canteen schedules and daily announcements. It automatically detects user's time and responds accordingly. Other than that, CollBeet Assistant can also be setup to let students know directions to different locations around the campus such as different staffrooms, labs, Principal office, Admin office, Auditorium etc and basic college info such as college website, address and phone number. Adding data to CollBeet Assistant is easy due to CollBeet Admin, a dashboard interface which lets Administrators manage, add and update data in realtime for entire college super quickly and easily. Since it is a completely open source project, feel free to use CollBeet Assistant to create a fully customised Conversational AI, that best suits your college need.


Index


Prerequisites

  1. Node.js and NPM
  2. Install the Firebase CLI
  3. CollBeet Admin
  4. GCP Account with Billing Enabled

Deployment

Note: Before proceeding, make sure you have CollBeet Admin up and running on a server.


Setup Project and Agent

  1. Clone this repo on to your local machine using following command.

    git clone https://github.com/kalol-institute-of-technology/CollBeet-Assistant

  2. Open the Actions Console.

  3. Click New project.

  4. Type in a Project name. This name is for your own internal reference; later on, you can set an external name for your project.

  5. Click Create Project.

  6. Rather than pick a category, scroll down to the More options section and click the Conversational card.

  7. Click Build your Action to expand the options and select Add Action(s).

  8. Click Add your first Action.

  9. On the Custom intent dialog, click Build to launch the Dialogflow console.

  10. Click Create.

  11. Click the gear icon on the left navigation.

  12. Click Export and Import.

  13. Click Restore From Zip.

  14. Upload the CollBeetAssistantAgent.zip file from cloned repo folder.

  15. Type "RESTORE" and click the Restore button.

  16. Click Done


Deploy your fulfillment

Now that your Actions project and Dialogflow agent are ready, do the following to deploy your local index.js file using the Firebase Functions CLI:

  1. In a terminal, navigate to the /functions directory of your base files clone.

  2. Using the Actions project ID, run the following command:

     firebase use --project <PROJECT_ID>
    
  3. Run the following command in the terminal to install dependencies.

     npm install
    
  4. Setup Environemental Variables. You will require Server URL of deployed CollBeet Admin Server, once you have that run the following command:

     firebase functions:config:set envariables.server_url="<SERVER_URL>" --project <PROJECT_ID>
    

    For example: If your custom domain is https://collbeet.test, you need to run the following command:

      firebase functions:config:set envariables.server_url="https://collbeet.test"     
    
  5. Go the the index.js file and personalise the phrase Welcome to CollBeet Assistant. How can I help you?. in Default Welcome Intent. Save the file. Note: Can be done later also. Pesonalise means replace the name CollBeet Assistant with your action/companion name.

  6. Run the following command in the terminal to deploy your webhook to Firebase.

     firebase deploy --project <PROJECT_ID>
    

After a few minutes, you should see "Deploy complete!" indicating that you've successfully deployed your webhook to Firebase. Make sure you have the billing enabled with the project used by your Action on GCP else external network will not be accessible and your action will not be able to retrieve data from CollBeet Admin.


Retrieve the deployment URL

  1. Open the Firebase Console.

  2. Select your Actions project from the list of options.

  3. Navigate to Develop > Functions on the left navigation bar. If you're prompted to "Choose data sharing settings", you can ignore this option by clicking Do this later.

  4. Under the Dashboard tab, you should see an entry for "dialogflowFirebaseFulfillment" with a URL under Trigger. Copy this URL.


Set the URL in Dialogflow

  1. Open the Dialogflow console.

  2. Navigate to Fulfillment on the left navigation.

  3. Enable Webhook.

  4. Paste the URL you copied from the Firebase dashboard if it doesn't already appear.

  5. Click Save.


If followed correctly CollBeet Assistant should be deployed now. If you are facing errors, definitely check your logs to know exactly what error you have been facing. If logs are not showing up, click on Resources Drop Down Menu below Filter by label or text search textfield, and select Cloud Function > dialogflowFirebaseFulfillment > All Region


Sample Utterances

Following are all the phrases that can be used to interact with the CollBeet Assistant.


Student Schedule

Upcoming Lecture

What is my next lecture ?

Today's Lecture Schedule

List All Today's Lectures

Tomorrow's Lecture Schedule

List All Tomorrow's Lectures

Specific Day Lecture Schedule

[Day Name] Lecture Schedule

Mess Schedule

Breakfast Inquiry

What's in Breakfast today?

Lunch Inquiry

What's in Lunch today?

Snacks Inquiry

What's in Snacks today?

Dinner Inquiry

What's in Dinner today?

Today's Mess Hall Schedule

Can I get canteen schedule for today?

Tomorrow's Mess Hall Schedule

Can I get canteen schedule for tomorrow?

Daily Announcements

Hear Daily Announcements

Any announcements today?

College Locations

Location Of Staffroom

Where can I find [Department Name] Staff room?

Location Of Lab

Where can I find [Department Name] Lab?

Location Of Principal Office

Where can I find Principal's Office?

Location Of Admin Office

Where can I find Admin's Office?

Location Of Cafeteria

Where can I find Cafeteria?

Location Of Mess Hall

Where can I find Mess Hall?

Location Of Auditorium

Where can I find Auditorium?

Location Of Security Cabin

Where can I find Security Cabin?

College Info

H.O.D Details

Who is [Department Name] Head Of Department?

Your Fee Details

My Semester Fees

Department Fee Details

How much is [Department Name] Semester Fees?

All College Clubs

List all college clubs

Categorywise College Clubs

List all [Club Type] Clubs

College Name

What is our college name?

College Address

What is our college address?

College Website

What is our college website?

College Phone Number

What is our college phone number?

User Utterances

Change/Add User Details

Setup User Details

Stop Intent

Stop

Publishing Your Action

To publish an Action on store made using CollBeet, you can use any Invocation name and description of your choice (as long as it adheres to Google Policies), that you think is best suited for you and your college.

Make sure to go through this Pre-launch checklists, for pain less submission process.

For privacy policy, you can use a copy of the following sample version.

Actions using CollBeet

Following are the Actions using CollBeet:


Action Icon Action Name Action Description
Sandra Companion Sandra Companion is a conversational AI deployed in Kalol Institute Of Technology and Research Center, used by students of all Engineering branches, in their day to day life. You can access Sandra Companion from here
Maya Companion Maya Companion is a conversational AI deployed in Sardar Vallabhbhai Institute Of Technology, used by students of the institute to make their daily life easy. You can access Maya Companion from here or just say to your Android Device, Ok Google, Talk to Maya Companion. This Action was implemented by Harsh Kotwani

If you have an Action using CollBeet, why not showcase it to the world. Make a Pull Request to add it to this table 👆


Designed and Developed with ❤️ by Raval Prajval


About

A Google Action designed to work as a personal college companion for students.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published