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.
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
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
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.
The UI runs locally with react-scripts
cd /robot
# change to Robot sub-folder
yarn install
# install dependencies
yarn start
# start the project`
Unit tests are run from local folders
cd /robot
yarn test
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