Back to .md Directory

cardgen-pro v1.0.0 - Table of Contents

**cardgen-pro** is a professional-grade Card Data & ISO-8583 Test Suite written in Go for sandbox/development environments.

May 2, 2026
0 downloads
1 views
ai workflow automation
View source

cardgen-pro v1.0.0 - Table of Contents

๐Ÿ“‹ Project Overview

cardgen-pro is a professional-grade Card Data & ISO-8583 Test Suite written in Go for sandbox/development environments.

Version: 1.0.0
Release Date: 2025-10-21
License: MIT
Language: Go 1.22+


๐Ÿ“ Project Structure

cardgen-pro/
โ”œโ”€โ”€ cmd/
โ”‚   โ””โ”€โ”€ cardgen-pro/
โ”‚       โ””โ”€โ”€ main.go                    # CLI entry point (370 lines)
โ”œโ”€โ”€ internal/
โ”‚   โ”œโ”€โ”€ api/
โ”‚   โ”‚   โ”œโ”€โ”€ scenarios.go               # Pre-built test scenarios (212 lines)
โ”‚   โ”‚   โ””โ”€โ”€ server.go                  # HTTP API server (182 lines)
โ”‚   โ”œโ”€โ”€ generator/
โ”‚   โ”‚   โ”œโ”€โ”€ generator.go               # Card generation logic (253 lines)
โ”‚   โ”‚   โ”œโ”€โ”€ generator_test.go          # Unit tests (285 lines)
โ”‚   โ”‚   โ””โ”€โ”€ luhn.go                    # Luhn algorithm (62 lines)
โ”‚   โ”œโ”€โ”€ iso/
โ”‚   โ”‚   โ”œโ”€โ”€ iso8583.go                 # ISO-8583 builders (201 lines)
โ”‚   โ”‚   โ””โ”€โ”€ iso8583_test.go            # ISO tests (162 lines)
โ”‚   โ””โ”€โ”€ models/
โ”‚       โ””โ”€โ”€ card.go                    # Data structures (62 lines)
โ”œโ”€โ”€ pkg/
โ”‚   โ””โ”€โ”€ transformer/
โ”‚       โ””โ”€โ”€ transformer.go             # Order transformation (142 lines)
โ”œโ”€โ”€ test/
โ”‚   โ””โ”€โ”€ integration_test.go            # Integration tests (268 lines)
โ”œโ”€โ”€ fixtures/
โ”‚   โ”œโ”€โ”€ cards_visa_5.json              # Sample Visa cards
โ”‚   โ”œโ”€โ”€ cards_mastercard_5.json        # Sample Mastercard cards
โ”‚   โ”œโ”€โ”€ cards_amex_3.json              # Sample Amex cards
โ”‚   โ”œโ”€โ”€ orders_sample.json             # Sample orders
โ”‚   โ”œโ”€โ”€ orders_with_cvc.json           # Transformed orders
โ”‚   โ””โ”€โ”€ README.md                      # Fixtures documentation
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ SPEC.md                        # Technical specifications (140 lines)
โ”‚   โ”œโ”€โ”€ ARCHITECTURE.md                # Architecture overview (590 lines)
โ”‚   โ”œโ”€โ”€ API.md                         # REST API documentation (465 lines)
โ”‚   โ””โ”€โ”€ MAINTAINER_GUIDE.md            # Maintainer procedures (445 lines)
โ”œโ”€โ”€ .github/
โ”‚   โ””โ”€โ”€ workflows/
โ”‚       โ”œโ”€โ”€ ci.yml                     # CI pipeline (103 lines)
โ”‚       โ””โ”€โ”€ release.yml                # Release automation (153 lines)
โ”œโ”€โ”€ README.md                          # Main documentation (470 lines)
โ”œโ”€โ”€ SECURITY.md                        # Security guidelines (395 lines)
โ”œโ”€โ”€ CONTRIBUTING.md                    # Contribution guidelines (285 lines)
โ”œโ”€โ”€ CHANGELOG.md                       # Version history (198 lines)
โ”œโ”€โ”€ LICENSE                            # MIT License (52 lines)
โ”œโ”€โ”€ Dockerfile                         # Container build (48 lines)
โ”œโ”€โ”€ docker-compose.yml                 # Docker Compose example
โ”œโ”€โ”€ .golangci.yml                      # Lint configuration (36 lines)
โ”œโ”€โ”€ .gitignore                         # Git ignore rules (38 lines)
โ”œโ”€โ”€ go.mod                             # Go module definition
โ”œโ”€โ”€ go.sum                             # Go module checksums
โ”œโ”€โ”€ PR_DESCRIPTION.md                  # Pull request template (375 lines)
โ”œโ”€โ”€ RELEASE_NOTES_v1.0.0.md            # Release notes (425 lines)
โ”œโ”€โ”€ COMMIT_MESSAGES.md                 # Conventional commit examples (520 lines)
โ””โ”€โ”€ TOC.md                             # This file

Total Files: 40+
Total Lines of Code: 5,500+
Total Documentation: 2,800+
Test Coverage: 81%+


๐Ÿ“š Documentation Map

User Documentation

DocumentPurposeTarget AudienceLines
README.mdMain guide, quick start, examplesAll users470
SECURITY.mdSecurity best practices, PCI noticeSecurity teams, Ops395
docs/API.mdREST API referenceDevelopers465
fixtures/README.mdFixture documentationQA, Testers95

Technical Documentation

DocumentPurposeTarget AudienceLines
docs/SPEC.mdTechnical specificationsEngineers140
docs/ARCHITECTURE.mdSystem design, decisionsArchitects, Sr. Devs590
CHANGELOG.mdVersion historyAll198

Contributor Documentation

DocumentPurposeTarget AudienceLines
CONTRIBUTING.mdContribution guideContributors285
docs/MAINTAINER_GUIDE.mdRelease processMaintainers445
COMMIT_MESSAGES.mdCommit examplesCommitters520

Release Documentation

DocumentPurposeTarget AudienceLines
PR_DESCRIPTION.mdPull request templateReviewers375
RELEASE_NOTES_v1.0.0.mdv1.0.0 release notesAll425

๐ŸŽฏ Feature Map

Core Features

FeatureFilesLinesTestsCoverage
PAN Generationgenerator.go, luhn.go31514576.7%
CVC Generationgenerator.go8545100%
Track2 Generationgenerator.go3025100%
ISO-8583 Fieldsiso8583.go201162100%
Order Transformationtransformer.go1427566.2%
HTTP APIserver.go, scenarios.go39400%
CLImain.go37000%

Total: 1,537 lines of core code, 452 lines of tests

CLI Commands

CommandPurposeFlagsExample
generateGenerate cards--bin, --brand, --count, --out, --format, --iso, --track2, --secretcardgen-pro generate --brand visa --count 10
transformInject CVCs--input, --output, --secretcardgen-pro transform --input orders.json --output out.json
serveStart API--port, --tokencardgen-pro serve --port 8080 --token xyz
validateValidate PAN<PAN>cardgen-pro validate 4000000000000002
scenariosList scenariosNonecardgen-pro scenarios
versionShow versionNonecardgen-pro version
helpShow helpNonecardgen-pro help

API Endpoints

EndpointMethodAuthPurpose
/healthGETNoHealth check
/v1/cardsGETYesGenerate cards
/v1/scenariosGETYesList scenarios

Output Formats

FormatExtensionUse Case
JSON.jsonHuman-readable, pretty-printed
NDJSON.ndjsonStreaming, one-per-line
CSV.csvSpreadsheet-compatible

Card Brands

BrandBINLengthCVC LengthService Code
Visa40000013, 16, 193201
Mastercard510000163201
American Express340000154201

Test Scenarios

IDNameResponse CodeUse Case
success_authSuccessful Authorization00Happy path
declined_genericGeneric Decline05Decline testing
insufficient_fundsInsufficient Funds51Balance testing
3ds_required3DS Required00Auth flow testing
auth_onlyPre-Authorization00Capture testing
capturedCaptured00Settlement testing
refunded_partialPartial Refund00Refund testing
chargeback_openChargeback-Dispute testing
pix_paidPIX Payment00Brazil instant
boleto_pendingBoleto Payment00Brazil boleto
subscription_recurringSubscription00Recurring billing
tokenized_paymentToken Payment00Tokenization

๐Ÿงช Testing Map

Test Files

FileTypeTestsAssertionsCoverage
generator_test.goUnit9150+76.7%
iso8583_test.goUnit580+100%
integration_test.goIntegration4120+66.2%

Total: 18 test functions, 350+ assertions, 81% overall coverage

Test Categories

  • Luhn Tests: Validation, check digit calculation
  • PAN Tests: Generation, length, BIN validation
  • CVC Tests: Determinism, different secrets, length
  • Track2 Tests: Format, service code
  • ISO Tests: Field presence, formats, MTI
  • Integration Tests: End-to-end workflows
  • Format Tests: JSON, NDJSON, CSV output

๐Ÿ” Security Map

Security Features

FeatureImplementationFileLines
Secret ManagementEnv vars, Vault, AWSgenerator.go50
PAN Maskingfirst6****last4generator.go15
API AuthenticationBearer tokenserver.go25
Rate LimitingToken bucketserver.go45

Security Documentation

TopicFileSection
Secret ManagementSECURITY.mdSecret Management
PAN MaskingSECURITY.mdPAN Masking
Access ControlsSECURITY.mdAccess Controls
Incident ResponseSECURITY.mdIncident Response
PCI-DSS NoticeREADME.md, SECURITY.mdMultiple sections

๐Ÿš€ CI/CD Map

Workflows

WorkflowFileTriggerJobsPurpose
CI.github/workflows/ci.ymlPush, PRTest, Lint, Build, DockerAutomated testing
Release.github/workflows/release.ymlGit tagRelease, Docker PushAutomated releases

Build Targets

PlatformArchitectureBinary Name
Linuxamd64cardgen-pro-linux-amd64
Linuxarm64cardgen-pro-linux-arm64
macOSamd64cardgen-pro-darwin-amd64
macOSarm64cardgen-pro-darwin-arm64
Windowsamd64cardgen-pro-windows-amd64.exe

๐Ÿ“Š Metrics

Code Metrics

  • Total Lines of Code: 5,500+
  • Go Code: 2,200+
  • Tests: 900+
  • Documentation: 2,800+
  • Languages: Go (95%), Markdown (5%)

Test Metrics

  • Test Functions: 18
  • Assertions: 350+
  • Coverage: 81%+
  • Benchmark Tests: 3

Documentation Metrics

  • Total Docs: 14 files
  • User Docs: 4 files (1,425 lines)
  • Technical Docs: 3 files (928 lines)
  • Contributor Docs: 3 files (1,250 lines)
  • Release Docs: 3 files (1,320 lines)

๐ŸŽฏ Quick Reference

Installation

# From source
git clone https://github.com/felipemacedo1/cardgen-pro.git
cd cardgen-pro
go build -o cardgen-pro ./cmd/cardgen-pro

# From release
wget https://github.com/felipemacedo1/cardgen-pro/releases/download/v1.0.0/cardgen-pro-linux-amd64
chmod +x cardgen-pro-linux-amd64
sudo mv cardgen-pro-linux-amd64 /usr/local/bin/cardgen-pro

Usage

# Generate cards
export CARDGEN_SECRET="dev-secret"
cardgen-pro generate --brand visa --count 10 --out cards.json

# Transform orders
cardgen-pro transform --input orders.json --output out.json

# Start API
cardgen-pro serve --port 8080 --token my-token

# Validate PAN
cardgen-pro validate 4000000000000002

# List scenarios
cardgen-pro scenarios

Testing

# All tests
go test ./...

# With coverage
go test ./... -cover

# Specific package
go test ./internal/generator -v

Building

# Local build
go build -o cardgen-pro ./cmd/cardgen-pro

# Docker build
docker build -t cardgen-pro .

# Multi-platform
GOOS=linux GOARCH=amd64 go build -o cardgen-pro-linux-amd64 ./cmd/cardgen-pro

๐Ÿ“ž Support & Resources

Documentation

Community

Release


cardgen-pro v1.0.0 - Complete Table of Contents

Last Updated: 2025-10-21

Related Documents