This project was bootstrapped with Create React App.
Starts the backend server.
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.
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.
TODO
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
- 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)
- CI Deployment
- Containerization
- Create a source code repo using github, gitlab, or bitbucket
- Create a kanban board
- Create a project wiki (for Release Notes)
###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
- Open and close issues
- Add enhancements (e.g. validation messages)
- CHANGELOG with release notes
- 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.
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