.github/workflows - contains yaml files defining cron jobs
analysis - scripts to analyze and dump chatbot conversation data
chatbot - contains the React project for the chat interface + mobile app (new!)
extension - has the React project for the Today chrome extension
pipelines - Python scripts to crawl websites and read emails, very messy
server - code for the widget data server and chatbot
.env files will be provided to you.
cd server
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Run python app.py
to start the server, then call the endpoints through Postman:
POST http://127.0.0.1:8000/api/chat
(raw json)
{
"text": "econ classes?",
"uuid": "60da31a19-63e6-4ba7-ab80-c7eb4452be1a",
"session_id": "asdf29"
}
If you want to use local server, switch URL in src/config.tsx
to the DEV url.
cd extension
npm install
npm start
Before creating a production build:
- Return the url in
src/config.tsx
back to the PROD url. - Bump the version number in
public/manifest.json
and commit.
npm run build
Then zip the build folder and upload to the Chrome extension store.
If you want to use local server, switch URL in src/config.tsx
to the DEV url.
cd chatbot
npm install
npm run dev
Before creating a production build:
- Return the url in
src/config.tsx
back to the PROD url.
npm run build
cd ..
git add .
git commit -m "build"
The last steps are required because the build command updates the dist
folder in server
.
Follow the instructions here.
git subtree push --prefix server heroku main
Follow the release steps and zip the build folder and upload to the Chrome extension store. Remember to accurately update the description and screenshots if new visual features were added.