Coder Social home page Coder Social logo

chatbot's Introduction

CBA Intro: Chatbot

This project was bootstrapped with Create React App.

Development server

nodemon server.js

Starts the backend server.

cd client

npm start

Runs the app in the development mode.
Open http://localhost:3000 to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

Build

npm run build

Builds the app for production to the build folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

See the section about deployment for more information.

Running unit tests

npm test

Running end-to-end tests

TODO

Introduction

This project will serve as an introduction to the CBA practice at Cedrus. As a member of the CBA team, you will work with Business Process Flows, Robotic Process Automation, and AI and machine learning interfaces. To prepare you for that you'll create a chatbot with some additional features

Requirements

  • UI built in framework of your choosing
  • Chat input with scrollable chat history
  • Dynamic response nodes that may include:
  • Customs styles
  • External links
  • Link Previews
  • Generated Documentation using library of your choice
  • Login with User Authentication
  • Use of 3 different chatbot platforms
    • Amazon Lex, Google Dialogflow, Watson Assistant
  • NodeJs Backend
  • End to End and Unit testing
  • Ability to select chatbot platform by app configuration
  • Ability for chatbot to call/use external APIs and services
  • Deployment procedure configurable by environment.
  • Source Control w/ Git with appropriate branch management.
  • Protection of assets (API keys and any proprietary info should not be committed)

Nice to have

  • CI Deployment
  • Containerization

Getting started

  • Create a source code repo using github, gitlab, or bitbucket
  • Create a kanban board
  • Create a project wiki (for Release Notes)

Working the Project

###Using the Kanban:

  • Setup any missing swimlanes (e.g. Testing)
  • Split large tasks when appropriate
  • Add Validation for forms
  • Ensure router has multiple routes
  • Add support for tabular data display, sorting, and pagination

Using the Issue Tracker:

  • Open and close issues
  • Add enhancements (e.g. validation messages)

Using the Wiki:

  • CHANGELOG with release notes

Using git:

  • New features should be developed on branches
  • No development done on the master branch
  • Code should be merged using pull requests (PR)

All feature requests and enhancements will be provided via kanban board and/or issue tracker.

Phase I

The major technical concepts will cover:

  • Complete tutorial on 1 of the 3 chatbot platforms
  • Integrate chatbot with Node
  • Feature-branch development with git
  • Automated testing with Selenium
  • Browser DOM, XPath, and CSS selectors

Key software methodology concepts:

  • Sprints and milestone tracking
  • Kanban boards (feature development)

Start Up tasks:

  • Create an account of google dialog flow and work through he tutorial
  • Create Tasks on the Kanban board for your project
  • Decide on what kind of chatbot you will build

By the end of the first week you should be well along in the chatbot tutorial if not completed and you should have decided on what that chat bots purpose will be.

Once you have completed the first tutorial you should shift to creating your own chatbot. Using the github repo you created starting added tasks to the kanban board and using the board and swimlanes to track you progress.

During this phase you should do some basic setup and configure you development environment, build process and automated testing process. Depending on your chosen framework some tooling may be be provided out of the box.

The first view should be a login page with a username and password field.

This is good time to verify that your end to end tests are working. You should have a test verifying the expected rendering of your login form and automating login.

You should also have a unit test verifying connectivity with one of the chat platforms

chatbot's People

Contributors

iamkennytso avatar mikedeeno84 avatar

Watchers

James Cloos avatar

Forkers

mikedeeno84

chatbot's Issues

Create a demo dialog flow

  • Create a new Agent
  • Create custom Intents
  • Create custom Entities
  • Connect the Agent to a custom API call
  • Have API return a conversational response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.