TuranBilgi Platform: API, Microservices & Client Applications

(July 2025 - Present)

TuranBilgi is a modern, API-first, multi-client backend platform designed to support complex business workflows alongside high-performance real-time communication. The platform follows a microservices-oriented and event-driven architecture, enabling independent scaling, fault isolation, and long-term extensibility across backend services and client applications.

Platform Overview

TuranBilgi is designed as a unified backend system serving multiple client applications through a shared API layer. All business logic, authentication, authorization, and real-time capabilities are centralized within the platform, ensuring consistency across all consuming clients. The platform consists of two primary backend components:

1. Core Business API

The core API is implemented using Node.js (Express.js with TypeScript) and exposes both REST and GraphQL interfaces. It acts as the central business layer of the system and is responsible for domain workflows and transactional operations including:

The following infrastructure is used to handle data:

2. Real-Time Chat, Notification & Presence Microservice

A dedicated NestJS + Socket.IO microservice handles all real-time communication concerns, including persistent WebSocket connections and event propagation. This service exposes REST and GraphQL APIs while maintaining persistent WebSocket connections for real-time features. Key capabilities include:

To support horizontal scalability and distributed WebSocket gateways:

This separation allows the real-time system to scale independently from the core business API while maintaining low latency and consistency.

Security & Authentication

All API or services use a shared JWT-based authentication model, enabling secure client-to-server and service-to-service communication to simplify identity propagation while maintaining clear trust boundaries between system components.

Testing & Quality Assurance

TuranBilgi adopts a comprehensive automated testing strategy using Jest to ensure correctness, reliability, and maintainability across the platform:

This layered testing approach supports safe refactoring, reduces regression risk, and ensures consistent behavior in a distributed environment.

Containerization & Deployment

The entire ecosystem is containerized under the TuranDocker project. This includes Core Business API, Real-time microservices, PostgreSQL, MongoDB, Redis, Apache Kafka and RabbitMQ. This setup enables fast, repeatable deployments on any Linux VPS and provides a strong foundation for future orchestration with Kubernetes or other container platforms, while remaining fully operational with Docker Compose or Docker Swarm.

Architectural Focus

TuranBilgi emphasizes:

The platform is designed to evolve, allowing additional services, clients (web, mobile, desktop), and integrations to be added without architectural rewrites.

Client Applications

TuranBilgi is a multi-client platform, designed to serve different user experiences through a shared backend infrastructure. Client applications include:

All client applications consume the same TuranBilgi APIs (REST, GraphQL, and WebSockets), ensuring: