JEBVYNX JAVA TUTOR.
A Telegram-based Java learning system delivering bite-sized programming modules, mandatory knowledge quizzes, and automated student progression directly inside the messaging platform.
A Telegram-based Java learning system delivering bite-sized programming modules, mandatory knowledge quizzes, and automated student progression directly inside the messaging platform.
Jebvynx Java Tutor is an automated learning management bot built on the Telegram platform. It was designed to support computer science students in mastering Java programming fundamentals and preparing for practical assessments.
Instead of requiring learners to navigate heavy desktop web portals, the bot brings structured computer science curriculum directly into a messaging channel students already use daily. The system delivers modular lessons, enforces understanding through mandatory quizzes before unlocking subsequent topics, and tracks learner progression in cloud storage.
I engineered the complete bot backend service, conversational flow, and state-persistence pipeline:
Structured Java core concepts (variables, data types, control flow, loops, methods, OOP) into progressive micro-modules optimized for chat-based reading.
Implemented quiz verification rules that prevent students from skipping ahead until they accurately solve concept questions.
Integrated MongoDB Atlas Cloud to store student identifiers, completed module indexes, current quiz scores, and registration timestamps.
Constructed Telegram inline reply keyboards and command shortcuts to make navigating lessons as simple as tapping menu buttons.
Runtime & Server Layer: The backend is written in JavaScript running on the Node.js runtime with an Express server handling webhooks and health-check monitoring.
Bot Framework & Telegram API: Utilizes Telegram Bot API interfaces to receive command events, dispatch markdown-formatted code blocks, and render inline interactive buttons.
Data Persistence: Connected to MongoDB Atlas Cloud database to reliably persist individual student sessions and track learning milestones across disjoint chat sessions.
State Machine Logic: A lightweight internal state machine coordinates user progress—tracking whether a user is currently reading a module, actively answering a quiz prompt, or awaiting score validation.
Asynchronous Message Order: Telegram users can send multiple commands or text responses in rapid succession. Designing the command handler to prevent race conditions during quiz answer evaluation required careful state validation before processing subsequent inputs.
Code Formatting on Small Screens: Presenting Java syntax legibly inside a mobile chat view required formatting code snippets using strict indentation and monospace block formatting, ensuring high readability across different screen widths.
Session Resumption: Because learners leave and return to the bot days later, student progress is tied to persistent database records rather than in-memory volatile cache.
Developing Jebvynx Java Tutor provided direct experience with building non-traditional user interfaces. When there is no browser DOM, user feedback must be communicated through text clarity, button placement, and instant system reactions.
It also deepened my practical knowledge of backend error handling, external API webhook lifecycles, and database schema design for persistent user state machines.
The bot is deployed and active on Telegram. Source code is published on GitHub for review: