Skip to content

Open Self Service - The Open Source Composable Frontend for Customer Portals

License

Notifications You must be signed in to change notification settings

o2sdev/openselfservice

Repository files navigation

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 ServerIntegration 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 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
  /api-harmonization    # API Harmonization Server (NestJS)

/packages
  /ui    # UI component library (shadcn/ui, Tailwind)

For a detailed breakdown, visit Project structure.

🖥️ Demo app

O2S Demo

🔌 Available Integrations

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

Integration Status
StrapiCMS ✅ Available
NextAuth ✅ Available
Redis cache ✅ Available
Search (Algolia) 🔄 In progress
CRM (TBD) 🔄 Planned
ERP / Commerce (TBD) 🔄 Planned

🔥 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.

📩 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.