Skip to content

Mock APIs for simulating enterprise systems like PLM, ERP, CRM — each exposed via isolated containers.

License

Notifications You must be signed in to change notification settings

sr198/enterprise-mock-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏗️ Enterprise Mock API Suite

A collection of containers that expose APIs simulating various enterprise applications.
Use this for building and testing multi-agent systems, AI workflows, and enterprise data integration without needing access to real backends like Teamcenter, SAP, CRM, etc.


📦 Overview

This repo provides containerized mock implementations of critical enterprise systems:

  • 🧩 Teamcenter (PLM) – exposes SOA-like endpoints for item search, properties, relationships, and BOM structures
  • 🧾 SAP (ERP) – simulates materials, BOMs, production orders, and batch tracking
  • 👥 CRM – exposes customer complaints, contact history, and product associations
  • 🎫 Ticketing – simulates support ticket lifecycles
  • 📄 Document System – provides searchable field reports, linked to ECNs and revisions

Each service runs in its own container and provides RESTful APIs that resemble real-world access patterns (SOA, BAPI, REST).


🚀 Quick Start

1. Clone the repo

git clone https://github.com/sr198/enterprise-mock-api
cd enterprise-mock-api

2. Build & start all services

docker-compose up --build

This spins up containers for:

  • teamcenter_api on localhost:8000
  • sap_api on localhost:8001
  • crm_api on localhost:8002

Each service can be run independently if needed.


🐍 Python & Dependency Management

All services use uv for Python dependency management. Each service defines its dependencies via pyproject.toml.

Example:

cd services/teamcenter_api
uv venv
source .venv/bin/activate
uv pip install -r pyproject.toml
uvicorn app.main:app --port 8000

📂 Project Structure

enterprise_mock_api/
├── data/
│   └── teamcenter/               # JSON mock data
├── services/
│   ├── teamcenter_api/          # Teamcenter SOA emulator
│   ├── sap_api/                 # SAP ERP simulator
│   └── crm_api/                 # CRM system simulator
├── docker-compose.yaml
└── README.md

🔌 API Endpoints (Example: Teamcenter)

  • GET /teamcenter/soa/performSearchViewModel
  • GET /teamcenter/soa/getProperties?uids=...
  • GET /teamcenter/soa/getRelatedObjects?uid=...
  • GET /teamcenter/soa/loadObjects?uids=...

Full OpenAPI docs are served at /docs on each service.


🧱 Use Cases

  • Agent-based reasoning against simulated enterprise backends
  • Integration tests for federated data pipelines
  • Proof-of-concept apps involving PLM, ERP, CRM logic
  • Prompt testing for retrieval-based GenAI tools

🧑‍💻 Contributing

  1. Clone and branch off main
  2. Follow the same structure in services/ for any new system
  3. Ensure APIs are self-describing and testable with /docs
  4. Keep mock data minimal, normalized, and real-world inspired

📜 License

Apache 2.0


✨ Inspired by

  • Siemens Teamcenter SOA Model
  • SAP ECC/BAPI interfaces
  • Real-world integration pains of AI-driven orchestration layers

About

Mock APIs for simulating enterprise systems like PLM, ERP, CRM — each exposed via isolated containers.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published