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.
- 01
Member management, content, jobs and forums in separate tools
- 02
Four languages: German, English, French, Arabic
- 03
Physicians on mobile, not at a desk
- 04
Real-time messaging with user presence
- 05
Full-text search across thousands of articles and jobs
- 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 requirementWhat 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.



