Skip to content

(Node.js) Third iteration of the STEXS platform, built from the ground up with a scalable architecture baseline, including queue services and a custom authentication API.

License

Notifications You must be signed in to change notification settings

AC4G/stexs-spike

Repository files navigation

stexs-spike (Node.js Iteration)

Notice: This version of STEXS is no longer under active development.
A complete rewrite is underway using Rust, with a focus on low-latency, global distribution, and next-gen performance architecture.

About This Iteration

This is the third iteration of the STEXS platform, built in Node.js + TypeScript, designed as a scalable backend foundation. It includes:

  • Custom Authentication API
  • Modular User Services: profiles, friends, blocks
  • Inventory system
  • Notifications layer using PostgreSQL & PostgREST
  • File API (S3-compatible): avatars, item assets, organization images
  • Dev environment built with Docker
  • Internal event service for actions like sending emails

Architecture Overview

This iteration is built with scalability in mind:

  • Queue Service for event-driven logic
  • PostgreSQL as the primary data layer
  • PostgREST to expose structured, typed data APIs
  • S3-compatible file API for media management
  • Email event system via message passing
  • Modular service structure for APIs

Deprecation Plan & Future Direction

The next version of STEXS will be rewritten from the ground up in Rust, with emphasis on:

  • gRPC with FlatBuffers as the primary protocol
  • Fallback support for ProtoBuf and JSON via Accept header negotiation
  • Pingora-based Load Balancer to act as an intelligent API edge
  • YugabyteDB for distributed global data storage
  • Garnet for ultra-fast cache and object storage
  • Pulsar for event streaming and messaging
  • ClickHouse for analytics: user behavior, game data, API usage

Dev Environment

To get started with local development:

  1. Install prerequisites:

    • Node.js version 22 or higher
    • pnpm package manager (npm i -g pnpm)
    • Docker & Docker Compose
  2. Install dependencies:

    pnpm install
  3. Configure environment variables:

    cp .env.example .env
  4. Start the development containers:

    docker compose up -d
  5. Start the development server:

    pnpm dev
  6. Access the API:

License

This project is licensed under the MIT License.

About

(Node.js) Third iteration of the STEXS platform, built from the ground up with a scalable architecture baseline, including queue services and a custom authentication API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •