Infrastructure
Tech Architecture of APITable
APITable mainly consist of multi packages to form app services:
web-server: build supercharged, SEO-friendly, and extremely user-facing static website and web application by using NextJSUI: provides extremely smooth, user-friendly, super-fast database-spreadsheet interface in <canvas> Rendering Engine
backend-server: handles HTTP requests about nodes, users, organizations, etc. Code under Java Spring Boot Frameworkroom-server: handles operations(OTJSON) of datasheets, communicates withSocket Serverthrough gRPC, and also provides APIs for developers. Coding under TypeScript and NestJS framework.nest-server: handles HTTP GET requests about datasheets, records, views, etc.socket-server: establishes a long connection with clients through the WebSocket protocol, allowing for two-way communication and real-time collaboration, notifications, and other featuresinit-setting,Responsible for initializing the configuration of core servicesinit-appdata,Responsible for initializing data, including databases, system-wide images, text, etc.MySQL: stores persistent data, such as datasheets, records, views, etc.Redis: stores cache, such as log-in session, hot data, etc.Minio OSS: stores uploaded files
Here’s different perspective of APITable's architecture.
App Services Architecture
Take a look at the complete architecture of the app's services.
Cloud Infrastructure
Scalable Infrastructure
nest-server: is another mode of room-server. The code base is the same as room-server, but it is responsible for load balancing thegetDatapackoperations to prevent resource conflicts.