Concepts
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.
server/
├── controllers/
├── services/
├── database/
└── guards/
Each directory has a predefined responsibility understood by the runtime.
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.
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
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:
| Directory | Purpose |
|---|---|
server/controllers | HTTP routes and controllers |
server/services | Business logic |
server/database/models | Database entities |
client/pages | Frontend pages and routes |
client/components | Reusable 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:
- Filesystem conventions
- Runtime orchestration
- Generated types
- Modular architecture
Together, these concepts create a predictable and maintainable developer experience across backend and frontend runtimes.