Source: https://seerepo.com/r/GoogleCloudPlatform/microservices-demo/built
Markdown source: https://seerepo.com/r/GoogleCloudPlatform/microservices-demo/built.md
Description: microservices-demo is a Go repo built with ASP.NET Core, Gorilla, Flask, anyio, flask-cors, and 2 more. It stores its data in Postgres.

# What is microservices-demo built with?

microservices-demo is a Go repo built with ASP.NET Core, Gorilla, Flask, anyio, flask-cors, and 2 more. It stores its data in Postgres, reaches it with SQLAlchemy, signs people in with cryptography, flask-login, and itsdangerous, uses AI through LangGraph, langgraph-sdk, langsmith, LangChain, and langchain-google-genai, connects to Google, makes its content with filetype, markupsafe, pillow, and jinja2, validates its data with annotated-types, Pydantic, and github.com/go-playground/validator/v10, is tested with Pytest, Faker, and Locust, deploys with opentelemetry-distro, opentelemetry-instrumentation, opentelemetry-semantic-conventions, psutil, python-json-logger, and 10 more, and uses asyncpg, google-cloud-core, Npgsql, pgvector, pgx, and 5 more. It has 9,171 written lines, with 6 test files.

Read on November 5, 2026, at commit c7cb6d5.

Repository: https://github.com/GoogleCloudPlatform/microservices-demo

## Backend (/)

### The base

- **ASP.NET Core**
- **[Gorilla](https://seerepo.com/uses/gorilla)**: 2 files
- **[Flask](https://seerepo.com/uses/flask)**: 1 file

### Data

- **asyncpg**
- **google-cloud-core**
- **Npgsql**
- **pgvector**
- **pgx**
- **psycopg**
- **psycopg-binary**
- **psycopg-pool**
- **pyzmq**
- **[Postgres](https://seerepo.com/uses/postgres)**: 5 files · [src/productcatalogservice/catalog_loader.go, line 30](https://github.com/GoogleCloudPlatform/microservices-demo/blob/c7cb6d5bfd6ea3aed768634ebbcb98cb7a523712/src/productcatalogservice/catalog_loader.go#L30)
- **[Redis](https://seerepo.com/uses/redis)**: 2 files · [src/cartservice/src/Startup.cs, line 12](https://github.com/GoogleCloudPlatform/microservices-demo/blob/c7cb6d5bfd6ea3aed768634ebbcb98cb7a523712/src/cartservice/src/Startup.cs#L12)

### Data access

- **[SQLAlchemy](https://seerepo.com/uses/sqlalchemy)**

### Sign-in

- **[cryptography](https://seerepo.com/uses/cryptography)**
- **flask-login**
- **itsdangerous**

### AI

- **LangGraph**
- **langgraph-sdk**
- **langsmith**
- **[LangChain](https://seerepo.com/uses/langchain)**: 1 file
- **langchain-google-genai**: 1 file

### Services

- **[Google](https://seerepo.com/uses/google)**: 2 files · [src/cartservice/src/cartstore/AlloyDBCartStore.cs, line 21](https://github.com/GoogleCloudPlatform/microservices-demo/blob/c7cb6d5bfd6ea3aed768634ebbcb98cb7a523712/src/cartservice/src/cartstore/AlloyDBCartStore.cs#L21)

## Support (/)

### The base

- **[anyio](https://seerepo.com/uses/anyio)**
- **flask-cors**
- **Grpc.AspNetCore**
- **[werkzeug](https://seerepo.com/uses/werkzeug)**

### Content

- **filetype**
- **markupsafe**
- **[pillow](https://seerepo.com/uses/pillow)**
- **[jinja2](https://seerepo.com/uses/jinja2)**: 1 file

### Validation

- **annotated-types**
- **[Pydantic](https://seerepo.com/uses/pydantic)**
- **github.com/go-playground/validator/v10**: 1 file

### Testing

- **Pytest**
- **Faker**: 1 file
- **Locust**: 1 file

### Deploy

- **opentelemetry-distro**
- **opentelemetry-instrumentation**
- **opentelemetry-semantic-conventions**
- **[psutil](https://seerepo.com/uses/psutil)**
- **python-json-logger**
- **[github.com/sirupsen/logrus](https://seerepo.com/uses/githubcom-sirupsen-logrus)**: 7 files
- **go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc**: 3 files
- **go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc**: 3 files
- **[go.opentelemetry.io/otel/sdk](https://seerepo.com/uses/goopentelemetryio-otel-sdk)**: 3 files
- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 3 files
- **opentelemetry-exporter-otlp-proto-grpc**: 2 files
- **opentelemetry-sdk**: 2 files
- **cloud.google.com/go/compute/metadata**: 1 file
- **go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp**: 1 file

### Tools

- **click**
- **iniconfig**
- **packaging**
- **pluggy**
- **pycparser**
- **pygments**
- **typing-extensions**

### Other

- **aiofiles**
- **blinker**
- **brotli**
- **cachetools**
- **certifi**
- **cffi**
- **charset-normalizer**
- **distro**
- **gevent**
- **googleapis-common-protos**
- **greenlet**
- **h11**
- **httpcore**
- **httpx**
- **idna**
- **importlib-metadata**
- **jackson-core**
- **jsonpatch**
- **msgpack**
- **NumPy**
- **opentelemetry-proto**
- **orjson**
- **protobuf**
- **pyasn1**
- **pyasn1-modules**
- **python-engineio**
- **python-socketio**
- **pyyaml**
- **requests**
- **sniffio**
- **tenacity**
- **typing-inspection**
- **tzdata**
- **urllib3**
- **uuid-utils**
- **websocket-client**
- **websockets**
- **wrapt**
- **xxhash**
- **zipp**
- **zstandard**
- **grpcio**: 6 files
- **github.com/pkg/errors**: 5 files
- **google.golang.org/grpc**: 5 files
- **github.com/google/uuid**: 2 files
- **com.google.api.grpc:proto-google-common-protos**: 1 file
- **github.com/golang/protobuf**: 1 file
- **golang.org/x/net**: 1 file
- **google-api-core**: 1 file

## Support (src/currencyservice)

### Deploy

- **[pino](https://seerepo.com/uses/pino)**: 2 files
- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 1 file

### Other

- **grpc**: 1 file

## Support (src/paymentservice)

### Deploy

- **[pino](https://seerepo.com/uses/pino)**: 2 files
- **[OpenTelemetry](https://seerepo.com/uses/opentelemetry)**: 1 file

### Other

- **grpc**: 1 file
- **uuid**: 1 file

## Other repos with a similar stack

- [apache/superset](https://seerepo.com/r/apache/superset/built): Flask, google-cloud-core, pyzmq, Postgres, Redis, Google, anyio, flask-cors, werkzeug, SQLAlchemy, cryptography, flask-login, itsdangerous, markupsafe, pillow, jinja2, annotated-types, Pydantic, psutil, python-json-logger, OpenTelemetry · [Compare](https://seerepo.com/compare/apache/superset/vs/GoogleCloudPlatform/microservices-demo)
- [datawhalechina/hello-agents](https://seerepo.com/r/datawhalechina/hello-agents/built): Flask, asyncpg, Postgres, Redis, anyio, SQLAlchemy, LangGraph, pillow, jinja2, annotated-types, Pydantic, OpenTelemetry, opentelemetry-exporter-otlp-proto-grpc · [Compare](https://seerepo.com/compare/datawhalechina/hello-agents/vs/GoogleCloudPlatform/microservices-demo)
- [vectorize-io/hindsight](https://seerepo.com/r/vectorize-io/hindsight/built): pgvector, Postgres, Google, SQLAlchemy, cryptography, LangChain, pillow, Pydantic, opentelemetry-semantic-conventions, OpenTelemetry · [Compare](https://seerepo.com/compare/GoogleCloudPlatform/microservices-demo/vs/vectorize-io/hindsight)
- [Significant-Gravitas/AutoGPT](https://seerepo.com/r/Significant-Gravitas/AutoGPT/built): Postgres, Redis, Google, SQLAlchemy, cryptography, pillow, jinja2, Pydantic, psutil · [Compare](https://seerepo.com/compare/GoogleCloudPlatform/microservices-demo/vs/Significant-Gravitas/AutoGPT)
- [vllm-project/vllm](https://seerepo.com/r/vllm-project/vllm/built): pyzmq, markupsafe, pillow, jinja2, Pydantic, psutil, python-json-logger, OpenTelemetry, opentelemetry-sdk · [Compare](https://seerepo.com/compare/GoogleCloudPlatform/microservices-demo/vs/vllm-project/vllm)
- [open-webui/open-webui](https://seerepo.com/r/open-webui/open-webui/built): pgvector, Postgres, Redis, SQLAlchemy, cryptography, pillow, Pydantic, psutil · [Compare](https://seerepo.com/compare/GoogleCloudPlatform/microservices-demo/vs/open-webui/open-webui)

## Frequently asked questions

### What language is microservices-demo written in?

microservices-demo is written in Go, with 9,171 written lines.

### What framework does microservices-demo use?

microservices-demo is built with ASP.NET Core, Gorilla, Flask, anyio, flask-cors, Grpc.AspNetCore, and werkzeug.

### What database does microservices-demo use?

microservices-demo stores its data in Postgres and reaches it with SQLAlchemy.

The proof: [src/productcatalogservice/catalog_loader.go, line 30](https://github.com/GoogleCloudPlatform/microservices-demo/blob/c7cb6d5bfd6ea3aed768634ebbcb98cb7a523712/src/productcatalogservice/catalog_loader.go#L30)

### What does microservices-demo sign people in with?

microservices-demo signs people in with cryptography, flask-login, and itsdangerous.

### Does microservices-demo use AI?

Yes. microservices-demo uses AI through LangGraph, langgraph-sdk, langsmith, LangChain, and langchain-google-genai.

### What services does microservices-demo use?

microservices-demo connects to Google and uses asyncpg, google-cloud-core, Npgsql, pgvector, pgx, psycopg, psycopg-binary, psycopg-pool, pyzmq, and Redis.

The proof: [src/cartservice/src/cartstore/AlloyDBCartStore.cs, line 21](https://github.com/GoogleCloudPlatform/microservices-demo/blob/c7cb6d5bfd6ea3aed768634ebbcb98cb7a523712/src/cartservice/src/cartstore/AlloyDBCartStore.cs#L21)

### Does microservices-demo have tests?

Yes. microservices-demo has 6 test files and is tested with Pytest, Faker, and Locust.

### Which repos have a stack like microservices-demo's?

The ones that share most of its stack: apache/superset, datawhalechina/hello-agents, and vectorize-io/hindsight.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
