Skip to main content

Component Descriptions

A description of the different components and their interfaces. See the System Block Diagram for a visualization of how these components interact.

Discord API

An API that allows interactions with various features on Discord such as chatting and user authentication. We will use Discord's API to facilitate communication with users and receive commands.

Py-cord (Discord API Wrapper)

A feature-rich Python library that is forked from discord.py. Py-cord encapsulates many Discord API calls for ease of use.

MongoDB

A NoSQL database management system. We will use MongoDB to store the user's selected language as well as current progress. Additionally course materials including quizzes, flashcards, and more will be stored on a MongoDB database.

Language Bot

Python program in charge of generating the language learning experience for users. This includes displaying all course materials (units/quizzes/etc.) in the form of embeds and other message types within the Discord platform.

GTTS

A Python library used to interface with Google Translate's text-to-speech API. GTTS will be used to vocalize lesson text for the learning bot to be used in listening comprehension.

OpenAI

Python library which provides access to OpenAi's APIs. This project will make use of OpenAi's Audio API trained on their automatic speech recognition system Whisper to transcribe user audio.