Architecture Overview

High-level overview of the DevStride technical architecture.

Architecture Overview

DevStride is built on a modern, scalable architecture designed for maintainability and performance.

Technology Stack

Backend

TechnologyPurpose
Node.jsRuntime environment
TypeScriptType-safe development
HonoWeb framework for API handlers
SSTInfrastructure-as-code framework
DynamoDBNoSQL database (via dynamodb-onetable)
PostgreSQLRelational database (via Drizzle ORM)
PusherReal-time messaging

Frontend

TechnologyPurpose
Vue.js 3UI framework with Composition API
PiniaState management
QuasarComponent framework
Tailwind CSSUtility-first styling
TipTapRich text editor
Vue RouterNavigation

Infrastructure

ServicePurpose
AWS LambdaServerless compute
API GatewayHTTP API routing
CognitoAuthentication
S3File storage
EventBridgeEvent routing
SQS/SNSMessage queues

Architecture Patterns

Domain-Driven Design (DDD)

The backend follows DDD principles:

  • Entities - Objects with identity (e.g., WorkItem, Board)
  • Value Objects - Immutable objects defined by attributes
  • Aggregates - Clusters of entities with a root
  • Repositories - Data access abstraction

CQRS (Command Query Responsibility Segregation)

Commands and queries are separated:

  • Commands - Write operations that change state
  • Queries - Read operations that return data
  • CommandBus - Dispatches commands to handlers
  • QueryBus - Dispatches queries to handlers

Event-Driven Architecture

Domain events drive side effects:

  • Domain Events - Emitted when state changes
  • Integration Events - Cross-service communication
  • Event Handlers - React to events

Request Flow

Client Request
    ↓
API Gateway
    ↓
Hono Handler (validates input, creates Command)
    ↓
CommandBus.execute(command)
    ↓
Service (business logic, repository calls)
    ↓
Result<T, E> returned
    ↓
Handler formats response

Module Structure

Code is organized by domain module:

backend/src/modules/
├── item/           # Work items
├── board/          # Boards and folders
├── user/           # Users and teams
├── organization/   # Organizations
├── workflow/       # Process management
├── activity/       # Activity logs
├── comment/        # Comments
└── ...

Each module contains:

  • domain/ - Entities, value objects, events
  • application/ - Commands, queries, services
  • infrastructure/ - Repositories, external services
  • interface-adapters/ - Hono handlers, DTOs

Learn More