CS-633-Team-8 / term_project

Team 8 term project for cs633
MIT License
0 stars 0 forks source link

Harold the Chat Bot - CS633 Team 8 Project

Netlify Status

Team 8 term project for CS633, a friendly elephant who knows everything about anything.

The project is split into the front end UI /robot, and the api chat server /server. The system is continuously deployed from the master branch, the UI to Netlify and the API to Heroku.

To run on local machine

Please make sure you have node and yarn installed in your system.

Begin by cloning the repository into a local folder of your choice:

git clone https://github.com/CS-633-Team-8/term_project.git

cd /term_project #change to project folder

API Authentication

In order to access the required APIs, development keys are required for Pusher and Dialogflow. For the Ask Harold dev team these are available from sjhogg@gmail.com. For others running this project, you need to provide a .env file with:


PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=
DIALOGFLOW_PRIVATE_KEY=
DIALOGFLOW_CLIENT_EMAIL=
GCLOUD_PROJECT= # name of cloud project associated with Dialogflow
GOOGLE_APPLICATION_CREDENTIALS= # route to GC Credentials file
OUR_LITTLE_SECRET= # Any secret key for API auth

For dialogflow you must authorise a google servce account. Fo more info: Google IAM Docs

Start the Server

cd /server # change to server folder
node install # install dependencies
node server.js # start server

The api calls will automatically be made to localhost when in development mode.

Robot UI

The UI runs locally with react-scripts

cd /robot # change to Robot sub-folder
yarn install # install dependencies
yarn start # start the project`

Tests

Unit tests are run from local folders

cd /robot
yarn test

Branch Policy

To work on feature or bug name your branch with a relevant title.

All pull requests should use the template found in the root of the project.

All commits to master are through pull request only for help see https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests