Core

Concepts

Learn the core concepts behind the OpenSya runtime architecture.

Concepts

OpenSya is the open-source recruitment infrastructure for modern companies.

Modular, scalable, and fully owned by you.

To support this vision, OpenSya is built around a small set of core concepts that define how applications are structured, discovered and executed.

Understanding these concepts is essential before diving deeper into controllers, services or runtime internals.

Convention Over Configuration

OpenSya follows a convention-driven architecture.

Instead of manually registering routes, services or plugins, the runtime automatically discovers and orchestrates your application based on the filesystem structure.

Example
server/
├── controllers/
├── services/
├── database/
└── guards/

Each directory has a predefined responsibility understood by the runtime.

The filesystem is the primary source of truth in OpenSya.

This approach drastically reduces boilerplate and keeps applications consistent across projects.

Runtime Orchestration

OpenSya automatically orchestrates the application runtime.

This includes:

  • Route discovery
  • Service registration
  • Database initialization
  • Plugin loading
  • Guard registration
  • Runtime hooks
  • Type generation

Developers focus on business logic while the runtime handles application wiring.

Fullstack Architecture

OpenSya is designed as a fullstack runtime architecture for recruitment and business platforms.

Architecture
project/
├── server/
└── client/

The backend runtime is powered by NestJS.

The frontend runtime is powered by Nuxt.

Both runtimes share the same development philosophy and filesystem conventions.

Generated Typings

OpenSya generates typings automatically from runtime definitions and filesystem structures.

This provides:

  • Strong type safety
  • Better IDE autocompletion
  • Shared runtime contracts
  • Improved developer experience
Generated typings are a core part of the OpenSya developer experience.

Modular Architecture

Applications are designed to be modular by default.

Controllers, services, database plugins and frontend integrations can evolve independently while remaining orchestrated by the runtime.

This makes large-scale recruitment and business applications easier to maintain and extend.

Runtime Discovery

OpenSya continuously discovers runtime definitions from the filesystem.

Examples:

DirectoryPurpose
server/controllersHTTP routes and controllers
server/servicesBusiness logic
server/database/modelsDatabase entities
client/pagesFrontend pages and routes
client/componentsReusable UI components

The runtime uses these conventions to automatically build the application architecture.

Scalability

OpenSya is designed for scalable applications and infrastructures.

The architecture encourages:

  • Separation of concerns
  • Reusable modules
  • Consistent structures
  • Shared runtime contracts
  • Independent runtime evolution

This allows teams to scale applications without increasing configuration complexity.

Philosophy

OpenSya is not a boilerplate generator.

It is a runtime architecture layer designed to standardize how modern recruitment and business applications are structured and orchestrated.

The core philosophy relies on:

  1. Filesystem conventions
  2. Runtime orchestration
  3. Generated types
  4. Modular architecture

Together, these concepts create a predictable and maintainable developer experience across backend and frontend runtimes.