Skip to content
View shohan0120's full-sized avatar
:shipit:
:shipit:

Block or report shohan0120

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
shohan0120/README.md

Hey There πŸ‘‹


⭐ 🎭 Dokan E2E & API Automation Suite β€” Highlights ⭐

Highlights of my work:

  • 🧱 Black-box, folder-isolated architecture β€” each feature owns its spec, page object, and test data, with no cross-folder imports.
  • 🌱 Deterministic seeding β€” vendors, customers, products, and modules are provisioned by setup projects before the test phase runs.
  • 🏷️ Tag-driven Lite/Pro gating (@lite, @liteOnly, @pro) so the suite runs cleanly on fork PRs without the Pro repository.
  • ⚑ CI sharding & reporting β€” 6-way parallelization plus storage-state authentication to eliminate per-test login cost.
  • πŸ› Flake hunting at the source β€” auto-dismiss handlers for the Pro 5.0 announcement modal and robust REST-auth patterns.

πŸ”— Dokan Automation Suite Github Actions CI/CD β†’


LinkedIn

I am SHOHAN, a Software Quality Assurance Engineer and automation tester from Bangladesh. I work at weDevs on the Dokan multi-vendor marketplace ecosystem, the StorePulse product suite, and WP ERP β€” tools powering thousands of WooCommerce and WordPress sites. I focus on end-to-end automation, CI test infrastructure, and performance testing. Day-to-day I write Playwright suites, harden GitHub Actions pipelines, and track down test flakiness at the source.

Want to know more about me? Connect with me on LinkedIn.

  • 🏒 Currently working as an SQA Engineer & Automation Tester at weDevs
  • πŸ§ͺ Focusing on Playwright (TypeScript), REST API testing, and CI sharding & reporting
  • πŸ€– Exploring AI-assisted QA workflows and performance testing
  • πŸ“ Based in Bangladesh
  • 🧩 Products I work on:
  • πŸ›’ Dokan β€” Multivendor plugin, Umbrella plugins & Mobile App
  • πŸ’Ό WP ERP
  • πŸ“ˆ StorePulse β€” StoreGrowth, CartPulse, Conversion Tracking for WC & Texty

Find me on Social Platforms

LinkedIn GitHub

What I Work On

Area Recent work
E2E Automation Refactoring Dokan's Playwright suite for stability and reliable CI reporting
CI Hardening Improving GitHub Actions pipelines β€” caching, sharding, and quality reports
Performance Load and performance testing for marketplace flows
Internal Tooling Tooling to streamline QA workflows and debugging

Active contributor in getdokan and wp-erp β€” opening and merging pull requests and filing detailed, reproducible issues, mostly around E2E stability, CI infrastructure, and regression coverage. Recently had my end-to-end test suite merged into wp-erp.

🎭 Dokan E2E & API Automation Suite

A flagship project I work on: the official QA gate for Dokan Lite & Pro, built on Playwright + TypeScript. It drives a real WordPress + WooCommerce + Dokan stack inside Docker (@wordpress/env) β€” no local PHP, MySQL, or WordPress install required.

Metric Detail
~2,000+ end-to-end tests
~400 REST API tests (/dokan/v1, /v2, /v3)
Surfaces Vendor dashboard (React 5.0+), Admin React shell, Pro modules, Lite storefront
CI 6 parallel shards with merged HTML reporting via GitHub Actions

🎟️ EventHub β€” Playwright E2E + API Automation Suite

Personal Project For Skill Showcase

Note

🌟 A personal, self-initiated side project β€” built outside of work to showcase my automation skills (not a professional/company project like Dokan).

A production-style automation suite for the EventHub application, covering both the browser (E2E) and the REST API layers with Playwright + TypeScript. GitHub Actions CI/CD integrated β€” UI and API suites run in parallel and publish the HTML report as an artifact.

  • 🧩 Two layers, one suite β€” UI journeys and API contract/validation tests share types, data, and config.
  • πŸ—οΈ Page Object Model β€” every page is a class; specs read like English, with zero raw selectors.
  • πŸ”Œ Typed API client β€” a fully-typed wrapper over Playwright's APIRequestContext with Bearer-token handling.
  • πŸ” Authenticate once β€” a setup project logs in and saves storageState; all UI specs reuse it.
  • 🎭 Playwright best practices β€” web-first auto-retrying assertions, role/data-testid locators, no hard waits, traces on failure.
  • 🌱 Realistic, parallel-safe data β€” @faker-js/faker generators produce unique data per test.
  • 🐞 Bugs documented β€” defects found during exploration are filed as GitHub-issue-style reports in /bugs.

πŸ”— EventHub Automation Suite Github Actions CI/CD β†’


πŸ›’ Client Dashboard ("Let's Shop") β€” Playwright E2E + API Automation Suite

Personal Project For Skill Showcase

Note

🌟 A personal, self-initiated side project β€” built outside of work to showcase my automation skills (not a professional/company project like Dokan).

A production-style automation suite for the Client Dashboard ("Let's Shop") practice app, covering both the browser (E2E) and the REST API layers with Playwright + TypeScript. GitHub Actions CI/CD integrated β€” UI and API suites run in parallel and publish the HTML report plus a job-summary table.

  • 🧩 Two layers, one suite β€” UI journeys and API contract/validation tests share types, data, and config.
  • πŸ—οΈ Page Object Model β€” every page is a class; specs read like English, with zero raw selectors.
  • πŸ”Œ Typed API client β€” a typed wrapper over Playwright's APIRequestContext, encoding the API's quirks (raw authorization token, userId-in-path endpoints).
  • πŸ” Authenticate once β€” a setup project logs in and saves storageState; UI specs reuse it, guest specs opt out explicitly.
  • 🎭 Playwright best practices β€” web-first auto-retrying assertions, role/label locators, no hard waits, traces/screenshots/video on failure.
  • 🌱 Realistic, parallel-safe data β€” @faker-js/faker generators produce unique data per test.
  • πŸ§ͺ Happy + negative + edge coverage β€” 65 tests (1 setup Β· 31 UI Β· 33 API), each traceable to a written TEST-CASES.md spec.
  • 🐞 Bugs documented β€” defects found during exploration are filed as GitHub-issue-style reports in /bugs.

πŸ”— Client Dashboard Automation Suite Github Actions CI/CD β†’


πŸ† Achievements

  • βœ… Merged pull requests into the getdokan/dokan, wp-erp codebase, including CI reliability fixes
  • πŸ§ͺ Built and maintained automated end-to-end test coverage for a production WooCommerce plugin
  • πŸ› Filed detailed, reproducible bug reports and test-case checklists used by the team
  • πŸ”§ Improved CI pipeline stability and reporting for a multi-vendor e-commerce platform

🚧 In Progress

  • CartPilot β€” a project I'm currently building (details coming soon)

βœ… Merged Pull Requests

πŸ‘‰ View all my merged pull requests

Tech Stack

Languages

TypeScript JavaScript PHP

Testing & Automation

Playwright Postman

CI / CD & Tools

GitHub Actions Node.js Git WordPress

🀝 Connect

Popular repositories Loading

  1. dokan dokan Public

    Forked from getdokan/dokan

    Multivendor marketplace platform

    TypeScript 1

  2. Automation-Git Automation-Git Public

    HTML

  3. woocommerce woocommerce Public

    Forked from woocommerce/woocommerce

    A customizable, open-source ecommerce platform built on WordPress. Build any commerce solution you can imagine.

    PHP

  4. WordPress WordPress Public

    Forked from WordPress/WordPress

    WordPress, Git-ified. This repository is just a mirror of the WordPress subversion repository. Please do not send pull requests. Submit pull requests to https://github.com/WordPress/wordpress-devel…

    PHP

  5. playwright playwright Public

    Forked from microsoft/playwright

    Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

    TypeScript

  6. dokan-debug-log-notify-slack dokan-debug-log-notify-slack Public

    PHP