Skip to content
AZIRAR Mhamed (SNCF / DGA NUMERIQUE / e.SNCF Sol.D2D DDSP IDFCE) edited this page Apr 22, 2026 · 2 revisions

Nodify: Your Versatile Headless CMS Solution

Delivering seamless content experiences across all channels


Understanding Headless CMS

A Headless CMS is a content management system that separates the front-end (presentation layer) from the back-end (content management). Instead of being tied to a specific website or app, content is delivered through APIs to any channel or device.

Traditional CMS Headless CMS
Front-end and back-end coupled Front-end and back-end decoupled
Content tied to specific presentation Content delivered via API
Limited channel flexibility Unlimited channel possibilities
Slower to adapt Highly customizable and adaptable

Nodify is an open source, Java-based headless CMS that takes this concept further with native i18n (multilingual) support, built-in analytics, and a powerful REST API.


Why Choose Nodify?

Feature Benefit
🌍 Multilingual (i18n) Create and manage content in unlimited languages with hierarchical translation inheritance
📱 Multichannel Deliver content to any device or platform — websites, mobile apps, IoT, voice assistants
⚙️ Highly customizable Tailor the CMS to your specific needs with custom content models, nodes, and templates
📈 Scalable Java-based backend easily handles growing content volumes and high traffic
👨‍💻 Developer-friendly Robust REST APIs, webhooks, official SDKs (PHP, Python, Node.js, Java/Kotlin), and duplex communication
🔓 Open Source No vendor lock-in, full control over your data and infrastructure
📊 Built-in Analytics Track impressions, clicks, and user feedback without third-party tools
🔐 Enterprise Authentication Internal, OAuth2, or OpenID Connect (SSO with Azure AD, Keycloak, Google, Okta)

Deliver Content Anywhere, Anytime

With Nodify's CaaS (Content as a Service) architecture, publish once and distribute everywhere:

Channel Use Case
Websites Blogs, corporate sites, e-commerce, portfolios
Mobile apps iOS, Android, React Native, Flutter
IoT devices Smart displays, digital kiosks, connected products
Social media Automated posting via API
Voice assistants Alexa skills, Google Actions
Email campaigns Personalized email content
Digital signage Real-time content updates

Flexibility and Customization

Nodify gives you complete control over your content structure and delivery:

Feature Description
Customizable content models Define your own content structures using nodes, contents, and custom data
Flexible APIs Integrate with your existing tech stack via REST API
Templating system Use $content(), $value(), and $translate() placeholders
Extensible with plugins Add new features as needed using the plugin system
Content rules Schedule publications, set visibility conditions (boolean/date)
Version history Track changes, revert to previous versions, SNAPSHOT/PUBLISHED workflow

Create Global Content Experiences (i18n)

Nodify makes multilingual content management simple and cost-effective:

Capability Description
Translate content easily Manage multiple language versions from a single interface
Regionalize content Target specific audiences with localized content
Handle complex multilingual requirements Support various writing systems (Latin, Cyrillic, CJK, Arabic) and dialects
Translation inheritance Define translations once at parent level — automatically inherited by all children
Language-specific slugs SEO-friendly URLs like /en/blog/post and /fr/blog/article
No per-locale costs Unlike Contentful and other SaaS CMS, Nodify charges nothing for additional languages

Example: Multilingual Content Structure

Root Node (Default: English)
├── Translations: EN, FR, ES, DE, JA, ZH, AR
│
├── Blog Node (inherits all languages)
│   ├── Post 1
│   │   ├── EN: "Hello World"
│   │   ├── FR: "Bonjour le Monde"
│   │   └── ES: "Hola Mundo"
│   └── Post 2
│       └── (inherits all translations from parent)
└── About Node
    └── (inherits all translations from parent)

Empower Your Development Team

Nodify provides everything developers need to build modern content-driven applications:

Feature Description
Robust REST APIs Full CRUD operations on nodes, contents, and data
Official SDKs Clients for PHP, Python, Node.js, and Java/Kotlin with duplex support
Webhooks Trigger actions based on events (content publish, update, delete)
Version control Track changes, compare versions, and roll back when needed
SNAPSHOT / PUBLISHED workflow Draft content in SNAPSHOT, deploy to PUBLISHED when ready
Environment variables Configure authentication, database, and more without code changes
Docker support Easy deployment with Docker Compose

Official Clients (SDKs)

Language Repository
Java / Kotlin nodify-clients/java
Python nodify-clients/python
Node.js nodify-clients/nodejs
PHP nodify-php-client

Your Content, Your Way

Summary of key benefits:

Benefit What It Means for You
Open source No vendor lock-in, full control, zero licensing fees
Native i18n Unlimited languages, no per-locale costs
Multichannel delivery Publish once, distribute everywhere
Developer-friendly REST API, SDKs, webhooks, Docker
Built-in analytics Track impressions, clicks, and feedback
Enterprise authentication OAuth2, OpenID Connect, SSO
Scalable Java-based backend for high performance
Flexible Custom content models, templates, and rules

Call to action: Try Nodify today 🚀


Installation Steps

Getting started with Nodify is quick and easy:

1. Clone the project from GitHub

Open a terminal and run the following command:

git clone https://github.com/AZIRARM/nodify.git

2. Navigate to the project directory

cd nodify

3. Start Nodify with Docker Compose

docker compose up -d

4. Access Nodify Studio

Open your browser and go to:

http://localhost

5. Log in

Field Value
Username / Email admin@nodify.app
Password Admin13579++

⚠️ Security Tip: Change your default password after your first login.


System Requirements

Requirement Minimum
Docker 20.10+
Docker Compose 2.0+
RAM 2 GB (4 GB recommended)
CPU 2 cores
Storage 10 GB (varies with content)

Quick Start Examples

Fetch content via API

curl -X GET "http://localhost:9080/v0/content/code/my-first-content" \
  -H "Authorization: Bearer YOUR_API_KEY"

Create content via API

curl -X POST "http://localhost:9080/v0/contents" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "nodeCode": "blog",
    "type": "html",
    "name": "my-article",
    "content": "<h1>Hello World</h1>",
    "slug": "hello-world"
  }'

Use the Node.js SDK

const Nodify = require('nodify-client');
const client = new Nodify({ apiKey: 'your_key' });

const content = await client.getContent('my-article');
console.log(content);

License

Nodify is licensed under the Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0).

This project is licensed under the Creative Commons BY-NC 4.0 license.

You are free to:

  • Share — Copy and redistribute the software in any medium or format
  • Adapt — Remix, transform, and build upon the software

But under the following conditions:

  • No Commercial Use — You may not use this software for commercial purposes
  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made

See the full license here: https://creativecommons.org/licenses/by-nc/4.0/

#Nodify #HeadlessCMS #OpenSource #Java #API #RESTAPI #i18n #Multilingual #Multichannel #CaaS #ContentManagement #WebDevelopment #DeveloperTools #Docker #MongoDB #SEO #ContentStrategy #DigitalExperience #Jamstack #SSO #OAuth2 #OpenIDConnect #ContentDelivery #GlobalContent

Clone this wiki locally