hey, I'm Damian

Test Auto

Projects Showcase

QA & Test Automation

MicroCommerce Backend Test Suite

Robust test suite for MicroCommerce backend, covering unit, integration, and end-to-end tests to ensure a reliable microservices architecture.

  • Developed end-to-end tests using Postman, runnable via Newman. Tests are self-contained with pre-request scripts for data setup and post-request assertions for validation.
  • Implemented integration tests with Supertest and Jest, ensuring API endpoints function correctly in isolation. These tests run in GitHub Actions CI, with code coverage measured to maintain high-quality standards.
  • Added unit tests with Jest to validate individual functions and modules, ensuring code correctness at the smallest level.
  • Configured CI pipeline with GitHub Actions to execute all tests post-build on every merge, providing immediate feedback to the development team.
  • Focused on testing the microservice architecture, validating inter-service communication and ensuring the reliability of individual components.
  • Tests ensure compliance with application requirements, including authentication, data validation, and CRUD operations for all services.
PostmanNewmanSupertestJestE2E TestingIntegration TestingUnit TestingCI/CD

MicroCommerce Frontend Cypress Test Suite

Comprehensive Cypress test suite for MicroCommerce frontend (NextJS), ensuring functionality, reliability, and responsiveness of the application.

  • Covered high-priority features: User authentication, product listing, product details, cart management, and checkout.
  • Followed best practices by reusing code with custom Cypress commands and utility files.
  • Centralized selectors in a dedicated file for better maintainability and readability.
  • Utilized fixtures for test data to ensure consistency and minimize hardcoding in tests.
  • Implemented advanced techniques, including API calls to prepare test data and inject it directly into local storage, streamlining test setup and execution.
CypressUI Test AutomationE2E TestingBest PracticesFrontend Testing

Backend API Testing

Comprehensive testing for robust and reliable backend APIs.

  • Automated functional tests for API endpoints using Jest and Supertest.
  • Postman collections with pre-request scripts for manual and automated testing.
  • Performance testing with K6 to ensure scalability and reliability.
  • Integrated into CI/CD pipeline using GitHub Actions for automated execution.
JestSupertestK6PostmanGitHub Actions

Multi-Tool UI Test Automation Suite

Comprehensive UI test suite implemented with Playwright, Cypress, and WebdriverIO to evaluate tool performance and strengths.

  • Validated critical flows: login, search functionality, and product browsing.
  • Benchmarked speed, stability, and ease of use across tools.
  • Playwright: Focused on cross-browser compatibility and auto-waiting mechanisms.
  • Cypress: Leveraged intuitive API and retry mechanisms for flaky tests.
  • WebdriverIO: Implemented Page Object Model (POM) for maintainability and scalability.
  • Seamless integration with CI/CD pipelines for continuous feedback.
PlaywrightCypressWebdriverIOUI Test AutomationCI/CD

Full Stack Dev Highlights

MicroCommerce Backend

MicroCommerce Frontend

Online Store

Portfolio Website

MicroCommerce Backend

NodeJSFastifyRabbitMQRedisMongoDBDockerJWT AuthenticationRole-Based Access ControlGitHub ActionsPostmanJestSupertest

Description: Microservice-based backend architecture for an e-commerce platform. Features include:
* Microservice Architecture: Decoupled services for products, orders, payments, and reviews.
* Message Queue: Interservice communication using RabbitMQ for reliability and scalability.
* Caching: Redis integration for product caching to optimize performance.
* Database: MongoDB for efficient storage of products, orders, and user data.
* Dockerized Deployment: Fully containerized with Docker and Docker Compose for easy scalability.
* Authentication & Authorization: JWT-based authentication with role-based access control (RBAC).
* Testing: Comprehensive testing suite with Postman (E2E via Newman), Jest, and Supertest.
* CI/CD: GitHub Actions integrated for automated testing and deployment workflows.

MicroCommerce Frontend

Next.jsBootstrapContext APICypressResponsive UIPrototypingFunctional Testing

Description: Fully functional frontend for the MicroCommerce project, designed to complement the advanced backend with a seamless user interface. Built as a prototype focusing on quick development without compromising functionality:
* Stack: Developed using Next.js, Bootstrap, and Context API to provide a responsive, scalable, and interactive UI.
* Features: Includes user authentication, product browsing, search functionality, cart management, checkout, and order history.
* Testing: Thoroughly tested with Cypress for end-to-end scenarios, emphasizing code reuse and maintainability through custom commands, fixtures, and advanced techniques like API-driven test data setup.

Online Store

NodeJSExpressJWT AuthenticationJOI ValidationHelmetRate LimitingSwaggerJestMongoDBGitHub Actions

Description: A full-featured online store backend built as a monolith application using Node.js and Express. Features include:
* Authentication: Secure JWT-based authentication with bearer tokens for API calls.
* Validation: Comprehensive request validation implemented using JOI.
* Security: Hardened API with Helmet for secure HTTP headers and rate-limiting to prevent abuse.
* API Documentation: Fully documented API using Swagger, providing clear and interactive API definitions.
* Testing: Extensive test coverage with Jest for unit and integration tests, ensuring reliability and maintainability.
* CI/CD: Automated testing integrated with GitHub Actions, running all tests on every merge to master.

Portfolio Website

CSS3HTML5BootstrapCanvaJavaScriptGIMPAnimationsContent Management

Description: My personal portfolio website showcasing my projects and skills.
* Design: Created using Canva for layout design and GIMP for graphic editing.
* Development: Built from scratch with vanilla JavaScript, HTML, CSS, and Bootstrap.
* Dynamic Content Management: Implemented a custom JavaScript feature that dynamically generates HTML from JSON data, making content management simple and efficient.

About Me

My Journey: From QA to Coding, and Around the World

In 2012, with a degree in economics, I began my tech career in Poland as a QA, earning my ISTQB certification and gaining test automation experience with Java and Selenium.

In 2015, I moved to Dublin, Ireland, where I worked in test automation, completed a postgraduate course in software development, and achieved the Oracle Java Programmer certification—cementing my passion for coding.

In 2019, I took a year off in Thailand, learning Thai, completing the FreeCodeCamp Bootcamp, and building the first version of this portfolio alongside several projects showcased here.

By 2020, I transitioned to freelancing, applying my QA and coding skills to create robust test automation frameworks integrated with CI pipelines. Freelancing allowed me to travel—living in Portugal and Germany by 2023, with trips to Japan and South Korea.

Now, in 2025, I’m ready for stability and a regular role, bringing years of diverse QA and development expertise to the table. Let’s see what’s next!

Work History

I share updates and progress from my side projects on X. Check it out!

X
Contact

Let’s connect! Whether you want to discuss opportunities, collaborate on a project, or just say hi, feel free to reach out through the links below.

© 2019-2025 Damian Pagowski. All rights reserved