Skip to content

Redesign of the current UI - #239

Closed
Thanas-R wants to merge 3 commits into
pesu-dev:devfrom
Thanas-R:dev
Closed

Thanas-R wants to merge 3 commits into
pesu-dev:devfrom
Thanas-R:dev

Conversation

@Thanas-R

@Thanas-R Thanas-R commented Oct 4, 2026 •

Copy link
Copy Markdown

📌 Description

This PR replaces the default Swagger UI documentation page at / with a custom, lightweight, and modern interactive API Explorer (app/playground.py).

  • What is the purpose of this PR?
    Provide an interactive playground where developers can inspect endpoint parameters, view schema responses, and test live API endpoints directly from the browser with preloaded documentation and curl examples.

  • What features does it add?

    • Interactive request runner with customizable parameters, headers, and body.
    • Native System / Light / Dark theme switcher with local storage persistence.
    • Interactive cursor-tracking dot-grid spotlight canvas.
    • Preloaded endpoint documentation and markdown explanations generated from the local OpenAPI schema (no external services or AI dependencies).
    • Clean, minimal aesthetic with zero changes to backend authentication, metrics, or scraping logic.

ℹ️ Fixes / Related Issues
Fixes: #
Related: #

🧱 Type of Change

  • 🐛 Bug fix – Non-breaking fix for a functional/logic error
  • ✨ New feature – Adds functionality without breaking existing APIs
  • ⚠️ Breaking change – Introduces backward-incompatible changes (API, schema, etc.)
  • 📝 Documentation update – README, docstrings, OpenAPI tags, etc.
  • 🧪 Test suite change – Adds/updates unit, functional, or integration tests
  • ⚙️ CI/CD pipeline update – Modifies GitHub Actions, pre-commit, or Docker build
  • 🧹 Code quality / Refactor – Improves structure, readability, or style (no functional changes)
  • 🐢 Performance improvement – Speeds up auth, scraping, or reduces I/O
  • 🕵️ Debug/logging enhancement – Adds or improves logging/debug support
  • 🔧 Developer tooling – Scripts, benchmarks, local testing improvements
  • 🔒 Security fix – Addresses auth/session/data validation vulnerabilities
  • 🧰 Dependency update – Updates libraries in pyproject.toml, uv.lock

🧪 How Has This Been Tested?

  • Unit Tests (tests/unit/test_playground.py, tests/unit/test_openapi_docs.py)
  • Functional Tests (tests/functional/)
  • Integration Tests (tests/integration/)
  • Manual Testing (verified in browser across light, dark, and system themes, responsive viewports, and live request execution)

⚙️ Test Configuration:

  • OS: Windows
  • Python: 3.14 (or 3.12+)
  • Browser testing across Light and Dark themes

✅ Checklist

  • My code follows the CONTRIBUTING.md guidelines
  • I've performed a self-review of my changes
  • I've added/updated necessary comments and docstrings
  • I've updated relevant docs (README or endpoint docs)
  • No new warnings introduced
  • I've added tests to cover my changes
  • All tests pass locally (scripts/run_tests.py / pytest tests/unit/)
  • I've run linting and formatting (pre-commit run --all-files)
  • Docker image builds and runs correctly
  • Changes are backwards compatible (if applicable)
  • Feature flags or .env vars updated (if applicable)
  • I've tested across multiple environments (if applicable)
  • Benchmarks still meet expected performance (scripts/benchmark/benchmark_requests.py)

🛠️ Affected API Behaviour

  • app/playground.py – UI redesign for the interactive API explorer
  • app/app.py – Mounted custom explorer at / while keeping backend routes untouched

🧩 Models

  • app/models/request.py – Input validation or request schema changes
  • app/models/response.py – Authentication response formatting
  • app/models/profile.py – Profile extraction logic

🐳 DevOps & Config

  • Dockerfile – Changes to base image or build process
  • .github/workflows/*.yml – CI/CD pipeline or deployment updates
  • pyproject.toml / uv.lock – Dependency version changes
  • .pre-commit-config.yaml – Linting or formatting hook changes

📊 Benchmarks & Analysis

  • scripts/benchmark/benchmark_requests.py – Performance or latency measurement changes
  • scripts/benchmark/analyze_benchmark.py – Benchmark result analysis changes
  • scripts/run_tests.py – Custom test runner logic or behavior updates

📸 Screenshots / API Demos (if applicable)

Light Theme

image image

Dark Theme

image image

🧠 Additional Notes (if applicable)

  • Backend authentication logic, rate limiting, and endpoints remain 100% untouched.
  • The explorer operates purely on the client side using the local /openapi.json spec with no external tracking or third-party AI services.

@Thanas-R
Thanas-R requested review from a team and aditeyabaral as code owners October 4, 2026 16:06
Comment thread pyproject.toml
[project]
name = "pesu-auth"
version = "4.18.0"
version = "4.19.0"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Revert this, this will be handled anyway in migration PR

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh alr, will revert

Comment thread pyproject.toml
[tool.ruff.format]
quote-style = "double"
docstring-code-format = true
docstring-code-format = true No newline at end of file

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is this change?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahh not really sure, i had by mistake deleted that line, so typed it back and must gave given a new line space, will revert this issue too

@Thanas-R Thanas-R closed this Oct 8, 2026
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.

2 participants