Skip to content

Integrate Career and Language Tabs into Unified Adaptive Learning UI #447

@bhasker1315

Description

@bhasker1315

As a developer working on the Adaptive Learning project, I want to integrate two intelligent modules—Career Guidance and Language Learning—into the unified Panel-based user interface. Both modules are powered by agent-based conversations and finite state machines (FSMs). The Career tab will simulate a virtual counselor to guide students through job exploration, certification suggestions, and skill gap analysis. The Language tab will allow students to select a language from a dropdown and learn it interactively through a chat-based experience.

The new tabs will be added to the panel_gui_tabs.py interface and should work independently while sharing the same unified layout.

Acceptance Criteria

  • Both Career and Language tabs appear in the Panel UI
  • CareerFSM and TeachMeFSM are initialized and respond as expected
  • Dynamic agents are created based on selected language in the Language tab
  • All tab logic is isolated and responsive
  • Application runs via python -m src.UI.panel_gui_tabs without errors
  • Code is well-documented and reviewed by a peer or professor

Conditions of Satisfaction

Tab Structure

  • Condition: Career and Language tabs appear
  • Test: Launch app and check for tab labels
  • Satisfaction: Tabs are present and clickable

FSM Integration

  • Condition: FSMs (CareerFSM, TeachMeFSM) control logic
  • Test: Run user flows through both tabs
  • Satisfaction: Transitions and speaker logic verified via logs

Agent Initialization

  • Condition: Agents are initialized for each tab
  • Test: Log output and interactive behavior
  • Satisfaction: 20+ agents for Career; dynamic agents for Language work as expected

Independent Tab Operation

  • Condition: Tabs work without interference
  • Test: Test each tab's functionality separately
  • Satisfaction: No cross-tab data leaks or crashes

Peer Review

  • Condition: Code and functionality reviewed
  • Test: Share with peers/professor
  • Satisfaction: Positive feedback and no blockers

Definition of Done

  • Both tabs are functional and appear in pn.Tabs() layout
  • Career tab includes buttons for certifications, job search, and more
  • Language tab uses dropdown for language selection and dynamic chat agents
  • FSMs (CareerFSM, TeachMeFSM) are registered and operational
  • App runs locally without any errors
  • All code is commented and reflected in README
  • Peer or professor has reviewed and approved the submission

Tasks & Subtasks with Estimates

ALP.11 Add Career and Language Tabs (15 hours) – #446

ALP.11.1 Create and Configure Career Tab (6 hours) – #446

  • ALP.11.1.1 Create career_tab.py
  • ALP.11.1.2 Set up CareerFSM with agent registration
  • ALP.11.1.3 Add Panel UI and chat interface for career exploration
  • ALP.11.1.4 Add buttons for job finder, gap analysis, certification, etc.

ALP.11.2 Create and Configure Language Tab (6 hours) – #446

  • ALP.11.2.1 Create language_tab.py
  • ALP.11.2.2 Add dropdown for selecting a language
  • ALP.11.2.3 Initialize dynamic agents using create_agents(language)
  • ALP.11.2.4 Register TeachMeFSM and connect to ReactiveChat

ALP.11.3 Final Integration and Validation (3 hour) – #446

  • ALP.11.3.1 Import both tabs in panel_gui_tabs.py
  • ALP.11.3.2 Test full app for UI alignment and logic
  • ALP.11.3.3 Add docstrings and update README with new tab usage

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions