Skip to content

About

Deterministic fake data API — users/orders/posts, same seed = same data. Perfect for tests

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

🔨 mock-data-forge

Deterministic fake data — same seed, same data, every time. Perfect for tests.

CI License Node TypeScript Tests

users · orders · posts · seeded · reproducible · zero native deps


✨ Features

  • 🌱 Seeded determinism — ?seed=abc returns byte-identical data across requests, deploys and languages
  • 👥 Rich fixtures — users with addresses, orders with consistent totals, posts with URL-safe slugs
  • 🎲 Custom PRNG — mulberry32 + FNV-1a hashing, no dependencies
  • 📏 Bounded — 1–100 items per request, validated
  • 🧪 Test-friendly — point your test suite at one seed for reproducible fixtures

🚀 Quick Start

git clone https://github.com/v01dst/mock-data-forge
cd mock-data-forge
npm ci
npm start

Or with Docker:

docker compose up -d

📡 API

Method Route Params Description
GET /users count, seed Mock users
GET /orders count, seed Mock orders
GET /posts count, seed Mock posts
GET /health — Liveness

Deterministic fixtures

curl "http://localhost:3000/users?seed=demo&count=2"
{
  "seed": "demo",
  "count": 2,
  "users": [
    {
      "id": "000001",
      "name": "Katherine Stroustrup",
      "email": "katherine.stroustrup@fake.org",
      "phone": "+1-769-473-9036",
      "address": { "street": "6176 Pine Way", "city": "Portland", "state": "OR", "zip": "02841" },
      "age": 41,
      "active": true,
      "createdAt": "2020-08-14T09:12:00.000Z",
      "locale": "de-DE"
    }
  ]
}

In tests

// test setup — every run gets the same users
const { users } = await fetch("http://localhost:3000/users?seed=e2e-fixed&count=25").then(r => r.json());

Errors

Status Meaning
400 count out of range (1–100)

🧱 Tech Stack

Layer Tech
Runtime Node.js 22
Language TypeScript (strict)
Framework Fastify 5
PRNG mulberry32 (in-house)
Testing Vitest 5
Packaging Docker + compose
CI GitHub Actions

Built with ⚡ by v01dst

GitHub Discord

About

Deterministic fake data API — users/orders/posts, same seed = same data. Perfect for tests

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages