Vue components are reorganized into a single index component file structure. Key components include App, GithubInput, GithubOutput, and GithubUserData. Data is passed between components via a central event bus. The GithubInput emits username to the bus. GithubOutput listens for the username, makes an API call to fetch user data, and passes it to the GithubUserData component for display.