DEV Community

Cover image for Extend your project’s capabilities with OneEntry custom modules
OneEntry
OneEntry

Posted on

Extend your project’s capabilities with OneEntry custom modules

Modern web and mobile development set high demands on both businesses and developers: rapid delivery of unique solutions, seamless implementation of custom logic, and straightforward management of the final product.In such a context, the standard functionality of even the most flexible Headless CMS may fall short — after all, every application reflects the specifics of the business and often requires non-standard logic.

Our team faced the same challenge: how to preserve the flexibility and scalability of applications without overloading the platform with unnecessary features.We chose a modular approach and developed our own mechanism for creating and integrating custom modules. This allows you to implement tailored business logic in the form of standalone modules, integrate them into the OneEntry platform, and make them available directly inside your application as part of its core functionality. At the same time, centralized management is retained through OneEntry, and the application continues to run reliably — with no need to rebuild its architecture or modify the core data and integration structure.

In this way, custom modules become a natural extension of the OneEntry platform: they enable businesses and developers to flexibly expand functionality, implement custom workflows quickly, and automate critical processes — all without limitations imposed by the core system and without wasting time on architectural rework.

Benefits of OneEntry Custom Modules

  • Simple deployment: Launch your own service in just a few steps

  • Automated integration: Modules connect with the platform automatically

  • Multi-platform support: Compatible with Python, Node.js, and PHP

  • Scalability & customization: Tackle any unique business logic or workflow

Imagine you need to automatically convert prices from USD to EUR for the French version of your site, hide specific products from users in certain regions, or launch a custom promotion based on specific conditions — like a particular date or a number of items in the cart.

Instead of implementing these scenarios manually, you can handle them using a custom module.

Technical Example: How to Create and Deploy a Custom Module in OneEntry

Let’s walk through a real-world use case that demonstrates how custom modules work in OneEntry — using a service that automatically converts product prices from USD to EUR with the help of the currencyfreaks.com API.

Say you want French users to see prices in euros, while the English version of your site shows prices in dollars. Instead of configuring this manually or building a complex external integration, you can solve the problem with a custom module.

Here’s a step-by-step guide:

Step 1: Setting Access Permissions

First, make sure the developer account has the required access rights.

In the OneEntry admin panel:

  1. Go to the Administrators section

  2. Select the appropriate user account (e.g., developer_admin)

  3. In the Module Permissions tab, enable the permission for editing products

Step 2: Preparing the Repository

You’ll need a Git repository with an example of the custom module.

  • Create a release tag, for example:
git tag prod-v1.0.15
git push origin prod-v1.0.15
Enter fullscreen mode Exit fullscreen mode
  • Wait for the container build process to complete

  • Copy the container image URL from the registry

Step 3: Deploying the Custom Module in OneEntry

Now you can proceed to add the module through the OneEntry interface.

  • Specify the module name and marker

  • Paste the previously copied container image URL

  • Enter the registry host

Create a deployment token:

  • In Git, create a new token with the Developer role and permissions to read from the registry

  • Paste the token into the corresponding field in the OneEntry interface

DEVELOPER_API_HOST=https://testst.oneentry.cloud
BASE_CURRENCY=USD
SYNC_CURRENCY=EUR
SYNC_CURRENCY_LANG=fr_FR
ATTRIBUTE_SET_MARKER=video
PRICE_ATTRIBUTE_MARKER=price
DEVELOPER_LOGIN=developer_admin
DEVELOPER_PASSWORD=lR8lUv7XTr
API_KEY=your_api_key
Enter fullscreen mode Exit fullscreen mode

Step 4: Launch and Monitoring

Once all fields are filled out:

  • Click “Create” to add the module

  • Then click “Deploy” and wait until the status changes to Running

After the module is running, you can:

  • Monitor logs

  • Edit environment variables directly in the interface, if needed

Verifying the Result

Once the module is active, you can check how it works in practice.

For example, in a product card under the Attributes tab:

  • In the English version, the price is displayed in USD

  • When switching to the French version, the price automatically appears in EUR

Module Logic Example

Below is a simple Node.js script that performs price conversion using the currency API:

const axios = require('axios');

async function convertPrice(priceInUSD) {
  const API_KEY = process.env.API_KEY;
  const response = await axios.get(`https://api.currencyfreaks.com/latest?apikey=${API_KEY}`);
  const rate = response.data.rates['EUR'];
  return priceInUSD * parseFloat(rate);
}

module.exports = { convertPrice };
Enter fullscreen mode Exit fullscreen mode

What this code does:

  • Sends a request to the currencyfreaks.com API

  • Retrieves the current USD to EUR exchange rate

  • Returns the converted price

This example demonstrates how narrowly focused business logic can be integrated into the OneEntry platform and become a part of the overall application architecture — without rewriting core code and with full control through the admin panel.

How OneEntry supports custom modules — compared to other platforms

To better understand how OneEntry’s approach stands out from other solutions on the market, we’ve prepared a comparison of custom module capabilities across popular Headless CMS and Backend-as-a-Service platforms:

A comparison table of custom module support across platforms like OneEntry, Strapi, Sanity.io, Firebase, and others

Why It Matters

Support for custom modules isn’t just a technical feature — it’s a key component of flexibility.

With OneEntry, a module can be quickly connected to the platform and securely integrated into the application’s business logic — with full control through the admin interface.

By using custom modules in OneEntry, you gain:

  • The ability to implement unique functionality tailored to specific needs

  • A tool for automating critical business processes

  • Flexibility to integrate third-party APIs and services — without rewriting your core code

This not only reduces the development workload but also increases your business’s ability to adapt to new challenges.

Explore the detailed documentation on custom modules:

https://doc.oneentry.cloud/docs/settings/custom_modules

Every developer and product manager working on web applications eventually encounters the limitations of the platform they’re building on. Standard solutions often fall short when it comes to addressing specific business requirements or keeping up with rapidly changing market demands. At OneEntry, we’ve understood these challenges from day one — which is why our platform was designed with full flexibility and extensibility in mind.

Top comments (0)