Skip to content
Back to Lab

Tool

Quotation API

A small service for generating and managing different types of quotations - focused on clean API and backend design.

A small backend / API system that generates different types of quotations. The focus is on API design and backend architecture - the kind of small, well-shaped service that benefits from getting the contracts right.

Status
In ProgressTool
Timeline
Jan 2024 → …
Signals
.NETC#REST APIAPI DesignSQL Server

Setting

Context

Quotations are a small but recurring requirement across products. Most implementations end up as a feature buried inside a larger system, with the contract designed around the immediate consumer.

This experiment pulls quotations out into their own service, so the contract can be designed once and reused.

Motivations

What I wanted to explore

  • Designing a small, well-shaped API surface for a single concept (a quotation).
  • Supporting multiple quotation types without the API becoming a mess of special cases.
  • Practising backend architecture on a contained problem.
  • Treating a small service as a product - versioning, contracts, evolution.

Work in progress

Project scope

  • A backend service that generates different types of quotations.
  • A clean REST API surface for creating, reading, and managing quotations.
  • Backend architecture designed to keep the service small and understandable.

How it is built

Technical approach

Backend-first, with attention to the API contract and the shape of the underlying domain model.

  • .NET and C# for the backend.
  • REST API as the external contract.
  • Internal structure designed around the quotation domain, not the immediate UI.

Notes from the build

What I learned

  • Small services benefit from a disproportionate amount of contract design.
  • Multiple quotation types are easier to model as a single concept with variants, not as parallel endpoints.
  • A focused service is also easier to evolve, replace, or retire.

Where this is now

Current status / next steps

Active build. The next focus is on expanding the supported quotation types and tightening the API contract based on actual usage.