Introduction
Nest Runtime
The backend runtime of OpenSya is powered by NestJS and orchestrated through filesystem conventions, runtime discovery and generated typings.
Instead of manually configuring controllers, services, modules or providers, OpenSya continuously discovers and orchestrates the backend application automatically.
Philosophy
OpenSya does not replace NestJS.
It extends and orchestrates NestJS through conventions and runtime orchestration.
This allows developers to benefit from:
- The NestJS ecosystem
- Dependency injection
- Scalable backend architecture
- Modular development
- Strong TypeScript support
while drastically reducing repetitive backend wiring and configuration.
Runtime Responsibilities
The OpenSya runtime automatically handles:
- Route discovery
- Service registration
- Database model loading
- Plugin initialization
- Guard registration
- Runtime bootstrapping
- Type generation
Developers focus on business logic while OpenSya handles runtime orchestration.
Filesystem Structure
The backend runtime is organized around filesystem conventions.
server/
├── controllers/
├── services/
├── database/
│ ├── models/
│ └── plugins/
├── guards/
└── locales/
Each directory has a predefined runtime responsibility automatically understood by OpenSya.
Runtime Discovery
OpenSya continuously scans the backend filesystem to discover runtime definitions.
Examples:
| Directory | Runtime Responsibility |
|---|---|
server/controllers | HTTP route discovery |
server/services | Business service registration |
server/database/models | Database model discovery |
server/database/plugins | Database plugin loading |
server/guards | Access control registration |
The runtime transforms these discovered definitions into a fully orchestrated NestJS application.
Runtime Generation
OpenSya automatically generates and executes the backend runtime.
The generated runtime is placed inside:
.opensya/server
During development and production startup, OpenSya:
- Discovers the filesystem structure
- Generates the backend runtime
- Registers runtime definitions
- Bootstraps the NestJS application
- Executes the generated runtime automatically
Filesystem Discovery
↓
Runtime Generation
↓
NestJS Orchestration
↓
Application Bootstrap
↓
Runtime Execution
The generated backend runtime is fully managed by OpenSya and should not be edited manually. ::
Why OpenSya + NestJS?
OpenSya leverages the power of NestJS while reducing configuration complexity through conventions and runtime orchestration.
This provides:
Convention Driven
Organize backend applications through filesystem conventions.
Runtime Orchestration
Automatically discover and orchestrate backend runtime definitions.
Generated Typings
Generate strong typings automatically from discovered runtime structures.
Scalable Architecture
Build modular and scalable recruitment infrastructures.
Philosophy
OpenSya is not a NestJS boilerplate.
It is a runtime architecture layer designed to orchestrate scalable backend infrastructures through conventions, runtime discovery and generated typings.
This allows teams to build modern recruitment and business platforms with less configuration and more consistency.