Skip to content

feat: implement personal statistics (stats) and upcoming machine release schedule #1

@setyanoegraha

Description

@setyanoegraha

Proposal: Enhancement for Personal Statistics and Release Schedule Tracking

Overview

I would like to propose the addition of two new features to the hmv-cli to enhance the user experience. These features focus on providing better personal progress tracking and visibility into upcoming machine releases, allowing users to manage their activities directly from the terminal.

Proposed Features

1. Personal Statistics Command (hmv stats)

The goal is to provide a comprehensive overview of the user's achievements. This command should fetch and display data specifically for the authenticated user, mirroring the information available on the HackMyVM dashboard.

Key Data Points to Include:

  • User Identity: Username, current Rank (e.g., #354), Title (e.g., [Hacker]), and Country.
  • Achievement Highlights: Total Points, total Roots, total User-level compromises, and total "Loved" (❤️) received.
  • Trophies: A dedicated section displaying the trophies earned by the user.
  • Detailed Progress: Visual progress bars for each difficulty level (Beginner, Intermediate, Advanced) to show the ratio of pwned machines vs. total available machines.

2. Machine Release Schedule (hmv machine -r / --release)

To help users stay updated, I propose integrating a release schedule within the existing machine command. This will allow users to quickly check when new machines are scheduled to drop without leaving their CLI environment.


Technical Implementation (Mockup)

To maintain the tool's aesthetic, the output should be structured and visually clear. Below is a conceptual mockup of how the hmv stats command would render in the terminal:

User: noneofyour [#354] | Title: [Hacker] | Country: [ID]
Points: 254 | Loved: ❤️ 2
-------------------------------------------------------
[ Stats ]
Total Roots   : 14
Total Users   : 14
Challenges    : 28

[ Trophies ]
🏆 [Trophy_Name_1] [Trophy_Name_2] [Trophy_Name_3]

[ Progress ]
Total VMs     [##------------------] 14 / 334
Beginner      [#######-------------] 14 / 150
Intermediate  [--------------------] 0 / 123
Advanced      [--------------------] 0 / 61

Benefits

By implementing these features, hmv-cli becomes a more centralized tool for the community, reducing the need to switch back and forth between the browser and the terminal.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions