Skip to content

This is a small project to practice a MERN stack and to learn how to make a chatbot with the DialogFlow from Google Cloud Platform

License

Notifications You must be signed in to change notification settings

KovDimaY/MERN-ChatBot

Repository files navigation

MERN-ChatBot

Build Status Coverage Status GitHub version GitHub demo GitHub docs GitHub docs GitHub license

This is a small project to practice a MERN stack and to learn how to make a chatbot with the DialogFlow from Google Cloud Platform. It is still under development so more features are coming soon! Stay tuned! :D

The last deployed production version is MERN-ChatBot v2.1.1.

There are two environments with independent databases:

Production (MASTER branch): https://mern-chatbot.herokuapp.com/

Pre-production (DEVEL branch): https://mern-chatbot-pre.herokuapp.com/

Also you can access Storybook and Styleguide Documentation for each environment:

[origin]/docs/storybook
[origin]/docs/styleguide

I will appreciate a lot your feedback and your opinion about the project. Feel free to create an issue or to contact me via LinkedIn, mail or social networks. Thank you in advance!

Screenshots:

  1. Desktop:
    image

  2. Mobile:
    image

  3. Test Coverage:
    image

For contributors:

Even though it is a simple project that was created to practice some JS programming, everyone is welcomed to contribute. I really appreciate any commitment to the projects I have created! :D

To understand better our basic approaches to contributions, please take a look at the following resources:



To run the project in local:

Clone the project:
git clone https://github.com/KovDimaY/MERN-ChatBot.git
Open it:
cd MERN-ChatBot
Install all required packages:
npm install
Run the mongoDB database:
npm run mongo
IN THE NEW TAB run the combined dev-server:
npm run dev
Open your browser at http://localhost:3000/


To run test coverage:

In the root of the project run the commands:
npm run test
To run linter (ESLint):
npm run lint
To generate coverage report:
npm run test:coverage
To open visual coverage report in browser:
npm run coverage:report
To update outdated snapshots:
npm run test:update


Storybooks:

To run development server for storybook:
npm run storybook
To build it for deployment:
npm run build-storybook


Styleguidist:

To run development server for styleguidist:
npm run styleguide
To build it for deployment:
npm run build-styleguide

Due to the way how Styleguidist is implemented and working, there will be incompatibility if the project has dependencies on the external CSS libraries. In my project I use MaterialCSS and it affects appearance of the styleguide. To remove some of the effects that I do not like to have, I had to create the client/styleguide/rereset-styles.css file where I put the original styles of Styleguidist which were overwriten by the MaterialCSS library. But the problem is that class names of the styleguide are dynamic and change every time when the new version of the styleguide is compiled. So before deploying the new version of the styleguide, we have to remember to update selectors names to be sure that the layout of styleguide is not broken.

About

This is a small project to practice a MERN stack and to learn how to make a chatbot with the DialogFlow from Google Cloud Platform

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published