Giter Club home page Giter Club logo

pychatbot's Introduction

PY Chatbot

View the live project here.

The goal of this web application is to provide a virtual chat bot to users. The bot can be used just for entertainment.

PS: The application is running on a free tier on heroku. When the application is not used for a certain of time, Heroku tends to shut down the server. So if you get an error page the first time opening the application, just wait a few minutes and try to lunch the appliction again.

User Experience (UX)

  • User stories

    • Visitor Goals

      1. As Visitor, I want to be able to ask a question to the bot
      2. As Visitor, I want to be able to see the reaction from the bot and have a chat conversation
  • Design

    • Colour Scheme

      • The two main colours used are light blue, and black and pink.
    • Typography

      • The Shanti font is the main font used throughout the whole application with Sans Serif as the fallback font in case for any reason the fonts aren't being imported into the site correctly.
    • Imagery

      • Images are not really widely used in this project.

Features

  • Interactive elements

  • Natural language processing

  • Form on the page for the chat conversation with the bot

Technologies Used

Languages Used

Frameworks, Libraries & Programs Used

  1. Git
    • Git was used for version control by utilizing the Gitpod terminal to commit to Git and Push to GitHub.
  2. GitHub:
    • GitHub is used to store the projects code after being pushed from Git.
  3. Heroku:
    • Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.
  4. NLTK:
    • NLTK is a leading platform for building Python programs to work with human language data. It provides easy-to-use interfaces to over 50 corpora and lexical

Testing

The W3C Markup Validator and W3C CSS Validator Services were used to validate every page of the project to ensure there were no syntax errors in the project.

Testing User Stories from User Experience (UX) Section

  • Visitor Goals

    1. As Visitor, I want to be able to ask a question to the bot

      1. Upon entering the site, there is a form with a text input field and a button
      2. Fill in any one setence question you have and press on the send button
      3. The answer to your question will be displayed shorted after the bot has it processed

Further Testing

  • The Website was tested on Google Chrome, Microsoft Edge and Safari browsers.
  • The website was viewed on a variety of devices such as Desktop, Laptop, iPhone7, iPhone 8 & iPhoneX.
  • A large amount of testing was done to ensure that all pages were linking correctly.
  • Friends and family members were asked to review the site and documentation to point out any bugs and/or user experience issues.

Known Bugs

Deployment

Heroku

The project was deployed to Heroku using the following steps...

  1. A docker file was created with instructions on how to create a docker image for this project
  2. from the docker file a docker image was built and sent to the docker hub repository
  3. Using Heroku cli, the docker image was pulled from docker hub, tagged and push to the Heroku containers registry
  4. With Heroku cli a container was created from the docker image
  5. From the container, the application was launched and Heroku assigned the application a port number to maake it accessible

Forking the GitHub Repository

By forking the GitHub Repository we make a copy of the original repository on our GitHub account to view and/or make changes without affecting the original repository by using the following steps...

  1. Log in to GitHub and locate the GitHub Repository
  2. At the top of the Repository (not top of page) just above the "Settings" Button on the menu, locate the "Fork" Button.
  3. You should now have a copy of the original repository in your GitHub account.

Making a Local Clone

  1. Log in to GitHub and locate the GitHub Repository
  2. Under the repository name, click "Clone or download".
  3. To clone the repository using HTTPS, under "Clone with HTTPS", copy the link.
  4. Open Git Bash
  5. Change the current working directory to the location where you want the cloned directory to be made.
  6. Type git clone, and then paste the URL you copied in Step 3.
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY
  1. Press Enter. Your local clone will be created.
$ git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY
> Cloning into `CI-Clone`...
> remote: Counting objects: 10, done.
> remote: Compressing objects: 100% (8/8), done.
> remove: Total 10 (delta 1), reused 10 (delta 1)
> Unpacking objects: 100% (10/10), done.

Click Here to retrieve pictures for some of the buttons and more detailed explanations of the above process.

Credits

Code

  • MDN Web Docs : For Pattern Validation code. Code was modified to better fit my needs and to match an Irish phone number layout to ensure correct validation. Tutorial Found Here

Content

  • All content was written by the developer.

Media

Acknowledgements

  • My Mentor for continuous helpful feedback.

  • Tutor support at Code Institute for their support.

pychatbot's People

Contributors

miguel-moukimou 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.