Skip to content

o2sdev/openselfservice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Open Self Service - open-source development kit for composable Customer Portals

Open Self Service (O2S)

Framework for building composable customer self-service portals.

Open Self Service is an open-source development kit that simplifies the creation of self-service frontend applications by integrating multiple headless APIs into a scalable frontend. Its flexibility allows for many customizations and lets you build various types of composable frontends.

πŸš€ Key Features

  • Composable – In short: API-agnostic. Compose customer experience by combining multiple "backend capabilities" into seamless, fully decoupled frontend.
  • Next.js Frontend Starter – Robust Next.js-based frontend including basic customer portal pages and content management capabilities.
  • API Harmonization Server – Integration layer for data aggregation, orchestration and normalization. Provides vendor lock-in safeness and better maintainability.
  • TypeScript SDK – Easily interact with the Harmonization Server in the frontend app or any web, mobile, other TS-based apps.
  • Pre-built Blocks – 25+ ready-to-use UI blocks with backend logic and SDK clients. Self-contained, reusable components for common features.
  • Pre-built Integrations – Ready integrations so that you can set up your solution faster.
  • Extensibility – Customize UI components, add new pages, add new API integrations, adapt to your needs.

πŸ“– Documentation

Check out the full documentation to get started.

πŸ› οΈ Installation

To set up a new O2S project, use the create-o2s-app starter and follow the installation steps in the documentation.

npx create-o2s-app my-project
cd my-project
npm run dev

πŸ”§ Running the Project

To start all services in development mode, use:

npm run dev

To run individual components:

cd apps/api-harmonization && npm run dev  # Start API Harmonization Server
cd apps/frontend && npm run dev  # Start Next.js Frontend

For more details, check the Running the project guide.

πŸ—οΈ Project Structure

O2S follows a monorepo structure using Turborepo for managing apps and internal packages.

/apps
  /frontend             # Next.js frontend application
  /api-harmonization    # API Harmonization Server (NestJS)
  /docs                 # Documentation site (Docusaurus)

/packages
  /blocks/*             # Reusable UI blocks (25+ blocks)
  /framework            # Core framework modules & SDK
  /integrations/*       # Integration adapters (Strapi, Contentful, Redis, Algolia, Medusa, Zendesk, mocked)
  /modules/*            # Feature modules (e.g., surveyjs)
  /ui                   # Base UI component library (shadcn/ui + Tailwind)
  /utils/*              # Utility packages
  /configs/*            # Shared configurations
  /cli/*                # CLI tools (create-o2s-app)
  /telemetry            # Telemetry package

For a detailed breakdown, visit Project structure.

πŸ–₯️ Demo app

O2S Demo

🧩 Blocks

O2S includes 25+ pre-built blocks - self-contained, reusable UI components that represent specific features or page sections. Each block includes backend logic (NestJS), frontend component (React), and SDK client.

Examples: article, article-list, ticket-list, order-details, invoice-list, user-account, and more.

For details, visit Blocks documentation.

πŸ”Œ Available Integrations

O2S includes pre-built integrations and allows you to extend functionality as needed.

Integration type/area Status
CMS βœ… StrapiCMS - available
βœ… Contentful - available
IAM βœ… Auth.js - available
βœ… Keycloak - available (not part of O2S, contact us for details)
Cache βœ… Redis - available
Search βœ… Algolia - available
CRM βœ… Zendesk - available (tickets)
βœ… SurveyJS - ticket submission handling
πŸ”„ other CRM solutions - planned
ERP βœ… Medusa - via Medusa plugin adding ERP-like features
πŸ”„ SAP S/4HANA - In progress (not part of O2S, contact us for details)
Commerce πŸ”„ Medusa - in progress (basic product information, other areas TBD)
Development βœ… Mocked - available (for local development and testing)

πŸ”₯ Why Open Self Service?

  • Fully composable – Integrate multiple backend services and build your solution by combining their capabilities.
  • Headless & API-first – Integrate multiple services seamlessly.
  • Future-proof – Build backend-agnostic customer portals. Swap backends without breaking the frontend.
  • Modern stack – Built with Next.js, shadcn/ui, TypeScript, NestJS.

🀝 Contributing

We welcome contributions! If you’d like to contribute, please check the Contribution Guide.

Contact e-mail

[email protected]

πŸ“© Stay Updated

πŸ“œ License

Open Self Service is open-source software licensed under the MIT License.

Built by Hycom

O2S is maintained as an open-source project by hycom.digital - a Polish tech company that delivers enterprise digital self-service and e-commerce solutions.