opik-backend

Standardize Java backend architecture patterns for Opik applications.

Updated Mar 30, 2026
One-click install
npx skills add https://github.com/Patkik/Multi-tenant-SaaS-Catering-V2 --skill opik-backend
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: opik-backend
Source: https://github.com/Patkik/Multi-tenant-SaaS-Catering-V2/tree/main/.agents/skills/opik-backend
Command: npx skills add https://github.com/Patkik/Multi-tenant-SaaS-Catering-V2 --skill opik-backend

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Standardize Java backend architecture patterns for Opik applications to reduce architectural drift and improve maintainability.

Core Features & Use Cases

  • Enforces a layered Resource → Service → DAO approach with constructor injection via Guice.
  • Provides consistent naming conventions for resources, DAOs, and services, and guidance for API endpoints and DB tables.
  • Covers database patterns for MySQL (transactions, migrations) and ClickHouse (analytics, deduplication), plus testing and migrations references.

Quick Start

Align new Opik backend modules with the documented architecture, DI, and naming conventions.

Frequently Asked Questions about opik-backend

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I standardize Java backend architecture patterns for Opik applications?

To standardize Java backend architecture, apply a layered Resource → Service → DAO approach using Guice for dependency injection. This enforces consistent naming conventions for resources, DAOs, and services, reducing architectural drift and improving maintainability across modules.

What is the best way to structure API endpoints and database tables in a Java backend?

Structure API endpoints and database tables using a layered Resource → Service → DAO architecture. This pattern separates concerns, enforces consistent naming conventions, and standardizes operations across MySQL and ClickHouse databases.

How do I implement dependency injection with Guice using constructor injection?

Implement Guice dependency injection using constructor injection to wire Resource, Service, and DAO layers. This standardizes component creation for Opik backend applications, ensuring consistent dependency graphs and improving code testability.

Does the Opik backend architecture support both MySQL and ClickHouse database operations?

Yes, the Opik backend architecture supports both MySQL and ClickHouse. It provides specific database patterns for MySQL transactions and migrations, alongside ClickHouse analytics and deduplication, ensuring correct data handling across both platforms.

When should I use ClickHouse instead of MySQL for Opik backend database operations?

Use ClickHouse for analytics and deduplication tasks, while MySQL handles standard transactions and migrations. The architecture defines specific database patterns for each, ensuring correct operations based on data requirements.

How do I handle database migrations and testing in a layered Java backend?

Handle database migrations and testing by following the architectural guidance for the Opik backend. This includes using established MySQL migration patterns and structuring tests to validate the Resource → Service → DAO layers, ensuring reliable code organization.