-
Notifications
You must be signed in to change notification settings - Fork 1
Nodify
Delivering seamless content experiences across all channels
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.
| 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) |
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 |
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 |
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 |
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)
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 |
| Language | Repository |
|---|---|
| Java / Kotlin | nodify-clients/java |
| Python | nodify-clients/python |
| Node.js | nodify-clients/nodejs |
| PHP | nodify-php-client |
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 🚀
Getting started with Nodify is quick and easy:
Open a terminal and run the following command:
git clone https://github.com/AZIRARM/nodify.gitcd nodifydocker compose up -dOpen your browser and go to:
http://localhost
| Field | Value |
|---|---|
| Username / Email | admin@nodify.app |
| Password | Admin13579++ |
⚠️ Security Tip: Change your default password after your first login.
| Requirement | Minimum |
|---|---|
| Docker | 20.10+ |
| Docker Compose | 2.0+ |
| RAM | 2 GB (4 GB recommended) |
| CPU | 2 cores |
| Storage | 10 GB (varies with content) |
curl -X GET "http://localhost:9080/v0/content/code/my-first-content" \
-H "Authorization: Bearer YOUR_API_KEY"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"
}'const Nodify = require('nodify-client');
const client = new Nodify({ apiKey: 'your_key' });
const content = await client.getContent('my-article');
console.log(content);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