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.
- Node.js and NPM
- Install the Firebase CLI
- CollBeet Admin
- GCP Account with Billing Enabled
Note: Before proceeding, make sure you have CollBeet Admin up and running on a server.
-
Clone this repo on to your local machine using following command.
git clone https://github.com/kalol-institute-of-technology/CollBeet-Assistant
-
Open the Actions Console.
-
Click New project.
-
Type in a Project name. This name is for your own internal reference; later on, you can set an external name for your project.
-
Click Create Project.
-
Rather than pick a category, scroll down to the More options section and click the Conversational card.
-
Click Build your Action to expand the options and select Add Action(s).
-
Click Add your first Action.
-
On the Custom intent dialog, click Build to launch the Dialogflow console.
-
Click Create.
-
Click the gear icon on the left navigation.
-
Click Export and Import.
-
Click Restore From Zip.
-
Upload the
CollBeetAssistantAgent.zip
file from cloned repo folder. -
Type "RESTORE" and click the Restore button.
-
Click Done
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:
-
In a terminal, navigate to the /functions directory of your base files clone.
-
Using the Actions project ID, run the following command:
firebase use --project <PROJECT_ID>
-
Run the following command in the terminal to install dependencies.
npm install
-
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"
-
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 nameCollBeet Assistant
with your action/companion name. -
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.
-
Open the Firebase Console.
-
Select your Actions project from the list of options.
-
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.
-
Under the Dashboard tab, you should see an entry for "dialogflowFirebaseFulfillment" with a URL under Trigger. Copy this URL.
-
Open the Dialogflow console.
-
Navigate to Fulfillment on the left navigation.
-
Enable Webhook.
-
Paste the URL you copied from the Firebase dashboard if it doesn't already appear.
-
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
Following are all the phrases that can be used to interact with the CollBeet Assistant.
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
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?
Hear Daily Announcements
Any announcements today?
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?
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?
Change/Add User Details
Setup User Details
Stop Intent
Stop
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.
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