Skip to main content

Case study · Education

Headless Odoo 18 for Freiburger Bund: A Next.js Member Portal, React Native Apps and Real-Time Messaging

A medical association platform where Odoo 18 Enterprise is the business backend behind a Next.js 15 web portal, React Native (Expo) iOS/Android apps, a Socket.IO messaging server and MeiliSearch: in German, English, French and Arabic.

  • Odoo 18 Enterprise
  • Headless Odoo + web + mobile + real-time
  • Germany
  • 12+ months, ongoing
Freiburger Bund: Headless Odoo 18: a Next.js member portal, React Native apps and real-time messaging on one ERP
Languages
4
Custom Odoo modules
19
Months of engagement
12+

Project at a glance

A medical association platform where Odoo 18 Enterprise is the business backend behind a Next.js 15 web portal, React Native (Expo) iOS/Android apps, a Socket.IO messaging server and MeiliSearch: in German, English, French and Arabic.

Client
Freiburger Bund
Industry
Education
Platform
Odoo 18 Enterprise
Duration
12+ months, ongoing
Location
Germany
Services
Odoo Development, Odoo Customization, Odoo Integration, Headless Odoo, Odoo Support

The challenge

Freiburger Bund needed one platform for member management, medical content publishing, job placement, community forums and real-time collaboration: with four-language i18n, mobile access for physicians, instant messaging with presence, S3 document storage for sensitive medical files, and full-text search across large volumes of articles and job postings. Standard Odoo portals couldn't deliver that front end.

  1. 01

    Member management, content, jobs and forums in separate tools

  2. 02

    Four languages: German, English, French, Arabic

  3. 03

    Physicians on mobile, not at a desk

  4. 04

    Real-time messaging with user presence

  5. 05

    Full-text search across thousands of articles and jobs

  6. 06

    Sensitive medical documents needing secure storage

Working through a similar challenge? Talk to an Odoo expert

The solution

Odoo 18 Enterprise stays the system of record (members, job boards, protocols, learning) exposed through custom REST and GraphQL APIs (fb_api). In front of it: a Next.js 15 / React 19 / PayloadCMS 3 portal with next-intl localisation, a React Native (Expo) app with viewport prefetching and push notifications, and a Node.js / Socket.IO / Redis / MongoDB server for chat and live presence, all authenticated against Odoo sessions. MeiliSearch indexes jobs, articles, forums and profiles. Documents live on S3-compatible storage (Cloudflare R2 / AWS S3 / MinIO).

How we built it

  • Developed customized Odoo 18 Enterprise ERP modules (fb_base, fb_community_portal, fb_info_portal, fb_job_portal, fb_learning_portal, fb_journey_portal, fb_api).
  • Configured Odoo REST & GraphQL API layers (fb_api) to expose business models safely to web and mobile clients.
  • Built a headless Next.js 15 (App Router, Turbopack, React 19) public website and member portal integrated with PayloadCMS 3.x.
  • Implemented i18n localization (next-intl) with automated translation extraction scripts supporting German (de), English (en), French (fr), and Arabic (ar).
  • Created a cross-platform mobile app using React Native, Expo, HeroUI Native, and Uniwind design system for iOS and Android.
  • Optimized mobile performance with viewport-based prefetching (TanStack Query) for fast list-to-detail navigation.
  • Built a dedicated real-time Socket.IO WebSocket server with Express, MongoDB, and Redis for 1-on-1 and group messaging.
  • Implemented real-time user presence tracking, read receipts, and live event broadcasting (forum updates, poll votes, protocol downloads).
  • Integrated Odoo session-based authentication across WebSocket connections and REST endpoints.
  • Integrated MeiliSearch engine (fb_meilisearch) for sub-millisecond full-text search across jobs, medical articles, forum threads, and user profiles.
  • Integrated S3-compatible cloud storage (@aws-sdk/client-s3, Cloudflare R2, MinIO) for resumes, medical certificates, and media attachments.
  • Configured Firebase Cloud Messaging (hspl_fcm_notification) for push notifications on web and mobile devices.
2 more implementation steps
  • Built gamification features, badge challenges, and verification request workflows for verified medical professionals.
  • Implemented E2E testing pipelines with Playwright and automated build/OTA update workflows with Expo Application Services (EAS).

Key capabilities

  • Member and community portal

    Profiles, forums, mentions and tagging, community content, on Next.js 15 with PayloadCMS for editorial content.

  • Career portal

    Job boards, recruiter management and candidate resume submissions on desktop and mobile.

  • Learning and protocols

    Continuing-education modules and peer-reviewed medical protocols served from Odoo.

  • Real-time messaging

    Socket.IO server with presence, authenticated against Odoo user sessions.

  • Search

    Meilisearch indexed natively from Odoo for instant results across articles, protocols and jobs.

  • Mobile apps

    React Native (Expo) iOS and Android with push notifications, viewport prefetching and OTA updates.

Architecture

A multi-tier hybrid: Odoo Enterprise as the business backend, a Next.js portal and native apps in front, a dedicated real-time server beside them.

  • Next.js 15 portal

    React 19, PayloadCMS 3.x, four languages

  • React Native (Expo) apps

    iOS and Android, FCM push, OTA updates

  • Socket.IO server

    Node.js / Express, Redis pub/sub, MongoDB

fb_api: REST and GraphQL

Business models exposed safely to web and mobile. Session-authenticated WebSocket

Odoo 18 Enterprise. Fb_* modules

Community · info · job · learning · journey portals · Meilisearch · multilingual import

Platform services

Meilisearch · Redis · Cloudflare R2 / S3 / MinIO storage · Twilio SMS · OAuth · Playwright and Artillery testing

Planning a similar architecture? Discuss your technical requirements

Integrations

  • Next.js 15 + PayloadCMS 3
  • React Native / Expo
  • Socket.IO real-time server
  • MeiliSearch
  • Redis
  • MongoDB
  • Firebase Cloud Messaging
  • Cloudflare R2 / AWS S3 / MinIO
  • Twilio SMS

Custom development

Portals in Odoo

  • Community portal
  • Info and news portal
  • Job portal
  • Learning portal
  • Medical journey portal
  • Website module

API and search

  • REST and GraphQL API (fb_api)
  • Meilisearch integration
  • Extended API documentation

Messaging and notifications

  • FCM push notification engine
  • User mention and tagging
  • Orbit email manager

Platform

  • S3-compatible object storage adapter
  • AWS S3 integration
  • Multi-language import
  • Markdown editor and multi-selection widgets
  • Package and utilities
Technical details: 19 custom modules
  • Freiburger Base
  • Freiburger Community Portal
  • Freiburger Info & News Portal
  • Freiburger Job Portal
  • Freiburger Learning Portal
  • Freiburger Medical Journey Portal
  • Freiburger REST & GraphQL API
  • Freiburger MeiliSearch Integration
  • Freiburger Package & Utilities
  • Freiburger Website Module
  • Freiburger Multi-Language Import
  • FCM Push Notification Engine
  • User Mention & Tagging System
  • Cloud Object Storage S3 Adapter
  • AWS S3 Integration
  • Multi-Selection UI Widget
  • Extended API Documentation
  • Markdown Editor Widget
  • Orbit Email Manager & Extensions

What changed

  • Web, mobile, ERP and real-time messaging unified on one platform
  • Sub-second chat latency and live presence via a dedicated Socket.IO server
  • Instant full-text search across thousands of articles, protocols and job listings
  • Four languages (DE, EN, FR, AR) with automated translation extraction and sync
  • Native iOS and Android apps shipped with EAS over-the-air updates
  • Sensitive candidate documents handled on S3-compatible storage

Have a business process that doesn’t fit standard Odoo?

Discuss your requirement

What made this project different

  • Multi-tier hybrid architecture combining Odoo Enterprise ERP, Next.js 15 web portal, React Native mobile apps, and Socket.IO real-time server.
  • Tailored medical ecosystem covering career job boards, peer-reviewed protocols, continuing education, and community forums.
  • Sub-millisecond search capabilities powered by native MeiliSearch index integration within Odoo.
  • WebSocket real-time communication authenticated via Odoo user sessions.
  • Intelligent mobile viewport prefetching pipeline delivering instant screen transitions on mobile devices.
  • Scalable S3-compatible multi-cloud media storage abstraction supporting Cloudflare R2, AWS S3, and MinIO.
  • Advanced i18n translation management with automated string extraction, AST refactoring, and database synchronization.

Technology

Odoo
Odoo 18 Enterprise
Backend
Python · PostgreSQL · Node.js · Express · MongoDB · Redis
Frontend
Next.js 15 · React 19 · PayloadCMS 3.x · TypeScript · Tailwind CSS 4 · React Native · Expo
Infrastructure
Docker · Cloudflare R2 / AWS S3 · Meilisearch
Integrations
Socket.IO · Firebase FCM · Twilio SMS · OAuth providers

More on this stack: how we build with Next.js and how we build with Payload CMS.

Team

The expertise on the project, not personal profiles.

  • Odoo Solution Architect
  • Odoo Technical Lead & Senior Backend Developers
  • Next.js / Full Stack Web Developers
  • React Native / Mobile Developers
  • Socket.IO / Node.js Engineers
  • UI/UX Designers
  • QA Engineers
  • DevOps & Cloud Engineers
  • Project Manager

Questions

What did Heliconia build for Freiburger Bund?

A member platform for a German medical association: Odoo 18 Enterprise as the backend for members, content, jobs, learning and events. A Next.js 15 web portal. React Native iOS and Android apps. A Socket.IO real-time messaging server. And Meilisearch search: in German, English, French and Arabic.

Why headless Odoo rather than the Odoo website?

The portal needed a modern multilingual experience, native mobile apps, real-time chat and sub-second search: beyond what the Odoo website builder is designed for. Keeping Odoo as the system of record and building the experience layer on its API gave both.

How is real-time messaging authenticated?

The Socket.IO server validates Odoo user sessions, so a member is the same identity in chat, on the portal and in the app.

How is multi-language content managed?

With automated string extraction and database synchronisation for the four languages, plus a multilingual import module in Odoo for content.

Where are sensitive documents stored?

In S3-compatible object storage (Cloudflare R2, AWS S3 or MinIO) through a storage adapter built in Odoo, with secure file handling for candidate documents.

Which Odoo version and edition does Freiburger Bund use?

Odoo 18 Enterprise, the Enterprise edition, version 18.

Which systems were integrated for Freiburger Bund?

Next.js 15 + PayloadCMS 3, React Native / Expo, Socket.IO real-time server, MeiliSearch, Redis, MongoDB, Firebase Cloud Messaging, Cloudflare R2 / AWS S3 / MinIO, Twilio SMS.

What technologies were used on the Freiburger Bund project?

Odoo 18 Enterprise, Python, PostgreSQL, Next.js 15, React 19, PayloadCMS 3, TypeScript, React Native, Expo, Node.js, Socket.IO, MongoDB, Redis, MeiliSearch, Docker.

Next step

Have a Similar Project in Mind?

Tell us what you are trying to build, improve or integrate. We'll help you evaluate the right Odoo, software and architecture approach, and show you the project closest to yours.