Loading000%

← All projectsFull Stack Developer · Dundill · 2024

Dundill Full Stack Platform

NestJS + GraphQL APIs and a React front end organised in Clean Architecture layers, with a Paymaster payment integration and unit and E2E tests.

  • NestJS
  • GraphQL
  • React
  • Clean Architecture
  • Jest
  • Cypress
Confidential client code
  1. Frameworks & drivers
  2. Interface adapters
  3. Use cases
  4. Entities

01 · Context

Full-time product work at Dundill in 2024, after a 2023 internship on the same team.

02 · Challenge

Ship features, payments included, in a growing codebase without letting framework code leak into business rules.

03 · Architecture

  • NestJS + GraphQL back end and React front end.
  • Clean Architecture layers: entities → use cases → interface adapters → frameworks and drivers.
  • Payment provider (Paymaster) isolated behind an adapter.

04 · Key decisions

  • Use cases independent of the framework

    Business rules don’t import NestJS or the database, which keeps them testable and easy to change.

  • Payments behind an adapter

    The payment flow depends on an interface, not on the provider’s SDK.

  • Faster data access

    NoSQL queries reworked through query shapes, indexing and document structure.

  • A real test pyramid

    Jest unit tests on the core, Cypress end-to-end tests on the critical journeys.

05 · Result

A secure payment flow, faster data access and a tested codebase, while mentoring the team’s interns. The code belongs to the company and stays confidential.