Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

CodeBot

CodeBot is a chatbot that helps beginners learn how to code. To make the otherwise daunting task of learning how to code for the first time easier, CodeBot incorporates witty replies, GIFs & human-readable errors to create an incredibly fun experience for a complete novice. Currently, it goes through a few elementary exercises in Python (adapted from Codecademy) while answering user questions using basic NLP. The back-end runs on Node.js, MongoDB & api.ai while the front-end is written in vanilla HTML, CSS & JavaScript.

Screenshot of CodeBot

Team

  1. Suyash Lakhotia
  2. Nikhil Venkatesh
  3. Chaitanya Joshi
  4. Bobby Ranjan

Setup

Prerequisites

Homebrew Commands (for Mac)

$ brew install node              # Install Node.js
$ brew install mongodb           # Install MongoDB
$ brew cask install robomongo    # Install RoboMongo (Optional)
$ brew services start mongodb    # Start MongoDB

Running CodeBot

  1. Clone this repo or download the .zip here.
  2. Navigate to this repo on your terminal and run $ npm install to install all the dependencies.
  3. Start MongoDB using the instructions here.
  4. Initialize the database using $ node dbCreator.js.
  5. Create a directory — /userScripts — and an empty file named test.py inside to process the user's submitted Python scripts.
  6. Run CodeBot on http://localhost:3000/ using $ node index.js.
$ npm install
$ brew services start mongodb    # Start MongoDB (via Homebrew)
$ node dbCreator.js
$ mkdir userScripts && cd userScripts && touch test.py && cd ..
$ node index.js

Source Code

CodeBot/
├── modules/
│   ├── codeChecker.js       // Checks User Submitted Python Code
│   ├── levenshtein.js       // Word Distance Calculator (dependency of codeChecker.js)
│   ├── messageHandler.js    // Handles User Messages over Chat
│   └── pythonDict.js        // Dictionary of Python Keywords (dependency of codeChecker.js)
├── node_modules/            // Node.js Dependencies (see package.json)
├── public/                  // Front-End Files (served at '/')
│   ├── assets/              // Images, GIFs, etc.
│   ├── css/                 // CSS Stylesheets
│   │   └── main.css
│   ├── js/                  // Client-Side Scripts
│   │   └── main.js
│   └── favicon.ico          // Favicon
├── userScripts/             // User Submitted Python Code
│   └── test.py
├── dbCreator.js             // Initializes Database
├── index.html               // Client-Side Chat Interface
└── index.js                 // Node.js Entry Point

See contributing guidelines here.


NOTE: Initially built for and during the Facebook Singapore Hackathon 2016.

About

👾 Interactive chatbot to help beginners learn how to code.

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.