How thaikhangvip123/api-project works
This repository is a multi-service API platform demonstrating user management and several API patterns: REST, GraphQL, gRPC, SOAP, webhooks, WebSockets, and WebRTC signaling. The main user-data workflow enters through an API, reaches the user service and its persistence layer, or is queried through GraphQL/gRPC adapters. Other services provide independent capabilities. Edges are limited to relationships shown in the sampled source or SOURCE INDEX; deployment wiring and unsampled modules are not inferred.
Main entry points: app.js Webhook Endpoint · src/http.js User REST API · src/http.js Auth HTTP API · users.js User Operations
Components 21
Identity and Users
- Auth HTTP API
platform/services/auth-service/src/http.js - Auth and Tokens
platform/services/auth-service/src/auth.js - User REST API
platform/services/user-service/src/http.js - User Operations
platform/services/user-service/src/users.js - User Repository
platform/services/user-service/src/repository.js - User Database
platform/services/user-service/prisma/schema.prisma
API Query Services
- GraphQL HTTP
platform/services/graphql-service/src/http.js - GraphQL Resolvers
platform/services/graphql-service/src/resolvers.js - Upstream Clients
platform/services/graphql-service/src/clients.js - gRPC API
platform/services/grpc-service/src/handlers.js - REST User Client
platform/services/grpc-service/src/user-client.js
Events and Integration
- Webhook Endpoint
platform/services/webhook-service/src/app.js - Signature Verification
platform/services/webhook-service/src/signature.js - Idempotency Store
platform/services/webhook-service/src/idempotency.js
Realtime Communication
- WebSocket Chat
platform/services/websocket-service/src/service.js - Chat Message Logic
platform/services/websocket-service/src/chat.js - WebRTC Signaling
platform/services/webrtc-signaling/src/service.js
SOAP Conversion
- SOAP Endpoint
platform/services/soap-service/app.py - Number Conversion
platform/services/soap-service/number_words.py
Other components
- API Consumer
- User Service
Connections 21
- API Consumer → Auth HTTP API: calls
- Auth HTTP API → Auth and Tokens: delegates to
platform/services/auth-service/src/http.js - API Consumer → User REST API: calls
- User REST API → User Operations: delegates to
platform/services/user-service/src/http.js - User Operations → User Repository: uses
platform/services/user-service/src/users.js - User Repository → User Database: reads and writes
- API Consumer → GraphQL HTTP: queries
- GraphQL HTTP → GraphQL Resolvers: dispatches
platform/services/graphql-service/src/server.js - GraphQL Resolvers → Upstream Clients: calls
platform/services/graphql-service/src/resolvers.js - Upstream Clients → User Service: calls gRPC
platform/services/graphql-service/src/clients.js - API Consumer → gRPC API: calls
- gRPC API → REST User Client: calls
platform/services/grpc-service/src/handlers.js - REST User Client → User REST API: requests users
platform/services/grpc-service/src/user-client.js - API Consumer → Webhook Endpoint: sends event
- Webhook Endpoint → Signature Verification: verifies
platform/services/webhook-service/src/app.js - Webhook Endpoint → Idempotency Store: claims event
platform/services/webhook-service/src/app.js - API Consumer → SOAP Endpoint: calls
- SOAP Endpoint → Number Conversion: converts
platform/services/soap-service/app.py - API Consumer → WebSocket Chat: connects
- WebSocket Chat → Chat Message Logic: uses
platform/services/websocket-service/src/service.js - API Consumer → WebRTC Signaling: signals peers