Giter Club home page Giter Club logo

mern-chatbot's Introduction

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.

mern-chatbot's People

Contributors

kovdimay avatar nikolayyakovenko avatar

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.