This bot helps you to learn new English words.
ESLBot is based on the following components:
- Amazon Lex for voice recognition and conversational interface
- AWS Lambda for application logic and Facebook integration
- Amazon API Gateway for providing a REST API for Facebook integration
- FFmpeg to prepare audio for Lex
- Amazon Polly to generate audio from text
- Amazon S3 to cache generated speech
- Azure SQL database to store user profiles and progress
- Skyeng API as the data source
- AWS CloudFormation and Serverless framework to orchestrate provisioning of AWS environment
You can use text or voice input via Facebook messenger.
The bot offers a new word with definition, audio, picture, and examples. earning progress is stored in database.
Bot offers audio definition, you need to guess a word. You have 3 attempts, after each failed attempt bot gives you a hint. Audio is created on-demand using AWS Polly (text-to-speech) and saved to S3.
You can ask the bot to define a word.
- Download ffmpeg static x64 binaries, put
ffmpeg
tobin
- You will need database (see
ddl/*
) and Facebook access details (see .env.yml.dist
). - Deploy
cloudformation/*
- Deploy all functions with
serverless deploy