Skip to Content
πŸš€ APSO is now in public beta. Get started β†’
GuidesFrameworksOverview

Framework Templates

APSO supports multiple backend frameworks. Choose the one that best fits your team’s expertise and project requirements.

Available Frameworks

TypeScript (NestJS) is the only stable language template today. Python and Go support is coming soon.

Framework Comparison

FeatureTypeScriptPythonGo
FrameworkNestJSFastAPIGin
ORMTypeORMSQLAlchemyGORM
AsyncYesYesGoroutines
Type SafetyFullOptionalFull
PerformanceHighHighVery High
EcosystemLargeLargeGrowing
StatusStableComing soonComing soon

Choosing a Framework

TypeScript (NestJS)

Best for:

  • Teams with JavaScript/TypeScript experience
  • Complex enterprise applications
  • Full-stack JavaScript stacks
  • Strong typing requirements

Python (FastAPI)

Best for:

  • Data science teams
  • Machine learning integrations
  • Quick prototyping
  • Teams with Python experience

Go (Gin)

Best for:

  • High-performance requirements
  • Microservices architectures
  • Resource-constrained environments
  • Teams with Go experience

Generated Code Structure

All frameworks follow a similar structure:

src/ β”œβ”€β”€ entities/ # Database entities β”œβ”€β”€ modules/ # Feature modules β”‚ β”œβ”€β”€ {entity}/ β”‚ β”‚ β”œβ”€β”€ controller # HTTP handlers β”‚ β”‚ β”œβ”€β”€ service # Business logic β”‚ β”‚ └── dto/ # Data transfer objects β”œβ”€β”€ extensions/ # Your custom code β”œβ”€β”€ config/ # Configuration └── main.* # Entry point

Customization

All generated code is yours to customize:

  1. Extensions Pattern β€” Add custom endpoints without modifying generated code
  2. Partial Generation β€” Regenerate only what you need
  3. Eject Mode β€” Take full control of the codebase

Framework-Specific Features

TypeScript Features

  • Decorators for routing and validation
  • Dependency injection
  • Swagger/OpenAPI auto-generation
  • Jest testing setup

Python Features

  • Pydantic models for validation
  • Async/await throughout
  • Auto-generated OpenAPI docs
  • pytest configuration

Go Features

  • Middleware support
  • Struct tags for validation
  • Swagger generation
  • Go testing utilities

Switching Frameworks

Currently, switching frameworks requires creating a new service. Your schema (.apsorc) is framework-agnostic and can be reused.

Last updated on