Skip to content

Feat/http validator and links#62

Merged
Derssa merged 5 commits into
mainfrom
feat/http-validator-and-links
Jul 15, 2026
Merged

Feat/http validator and links#62
Derssa merged 5 commits into
mainfrom
feat/http-validator-and-links

Conversation

@Derssa

@Derssa Derssa commented Jul 15, 2026

Copy link
Copy Markdown
Owner

Summary of Changes

This PR introduces HTTP web server verification in the learning validation engine and improves the Roadmap UI with dynamic access links, markdown formatting, and copy buttons.

Key additions:

  • http_get_contains Validator: Adds a backend learning engine validator that executes localized curl requests inside docker containers to verify page content (e.g. database rows rendered in HTML).
  • Step 5 (Run Web Server): Adds a 5th step to the example-first-architecture roadmap instructing learners to build and start a Python web server connected to the PostgreSQL database, and open port 80.
  • Dynamic Localhost Links: Automatically displays a clickable http://localhost:<mapped_port> link under step instructions if the target container is running, placed in a public subnet, and has port 80 allowed inbound.
  • Enhanced Markdown & Code Blocks: Implements native parsing for lists, bolding, inline code, and multi-line console code blocks in the roadmap sidebar.
  • Copy Buttons: Adds a top-right copy icon on all terminal code blocks in the UI for easy copy-pasting, showing a checkmark indicator upon success.
  • DB Inspector Alignment: Updates Step 2 to guide the user to verify the users table via the database explorer inspector rather than simply instructing them to write SQL.
  • Ingress Port Isolation Fix: Restricts port validation to inbound-only rules, preventing outbound wildcard rules (ALLOW ALL outbound) from leaking into ingress checks.

Types of Changes

  • New feature / node type addition
  • Bug fix (non-breaking change resolving an issue)
  • Refactoring / structural cleanup
  • Documentation update

Verification & Testing

Automated Checks

  • Run npm run lint successfully with no errors
  • Run npm run build successfully with no compilation errors
  • Run npm test successfully (all tests pass)

Manual Verification

  • Ran backend unit tests validating the connection success/failure modes in httpGetContains.test.ts (passed).
  • Ran CLI validator (npm run roadmap:validate) against example-first-architecture.json to verify schema validation (passed).
  • Ran all frontend learning panel tests (LearningPanel.test.tsx, useLearningPlayer.test.ts, useRoadmaps.test.ts) to verify component behavior, styling fallbacks, and navigation logic (all 21 passed).
  • Simulated and verified copying code blocks to the clipboard and dynamic public port links in the UI.

Checklist

  • My code follows the repository's code style and lint standards
  • I have updated the documentation or instructions if necessary
  • All unit and integration tests are passing

@Derssa Derssa requested a review from OthmaneZ05 as a code owner July 15, 2026 15:59
@Derssa Derssa merged commit e3c4b01 into main Jul 15, 2026
3 checks passed
@Derssa Derssa deleted the feat/http-validator-and-links branch July 15, 2026 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant