Learning Map Project

This project is the accompanying code implementation for the Messenger bot learning map outlined here. It evolves with the various sections of the learning map to develop a fully functional messenger bot while also serving as the code reference for the learning map.

Overview

The bot learning map project is a fun arithmetic game to engage users with exercises across different arithmetic operations such as subtractions, additions, multiplication, etc. Players amass points as they succeed and progress through different levels and rounds of questions to earn a place atop the leaderboard.

As a learning exercise, the bot is expected to encapsulate and use various features of the messenger platform: menus, quick_replies, varying templates etc would all find use cases in it.

Setup

Aside the specific setup instructions detailed in the README.md in the folders containing implementation for your language of choice, you'll need a Facebook page and Facebook App. See the learning map sections for creating a Facebook page and Facebook app.

Clone the repo and cd into bot_learning_map_project/[your_language] e.g

cd bot_learning_map_project/javascript

Then follow the instructions in the README for the language to complete the setup and startup the app.

How to use

A good way to use this repo is by following the learning map. As you go through the map, you'll find that different sections will reference different commits and code snippets in this repo. As such, following the learning map from start to finish will leave you with an exact replica of the contents of this repo i.e your very own bot.

Also you could look through for different sections you might find helpful to what you are working on.

Structure

At the root of the repo, we have different folders containing similar implementation for the named language. As part of the commitment to the learning map, code snippets are made available in multiple languages to enable everyone follow along in their language of choice. Each referenced code snippet in the learning map will have associated versions in each of the other languages so that the path through each language is always in sync.

Contributing

We love contributions, reviews and recommendation. We welcome you to help translate the project into more languages and submit a PR of your implementation.