app like that
moclojer
moclojer

No-code API server mock allowing creation of mock APIs to speed up prototyping. Supports YAML, EDN, and OpenAPI 3 specifications. Open source with multi-domain and dynamic return capabilities.

Features

open source

Always open source, allowing you to download the binary or code and keep it private.

no-code

Supports entire digital transformation process, from idea to experimentation to solution.

simple spec

Simple and objective specification for writing endpoints, using yaml for large projects.

OpenAPI 3 support

Supports OpenAPI 3 specification, allowing you to read exported specifications.

multi domain

Supports multi-domain within the same configuration file, allowing endpoints for multiple domains.

dynamic return

Endpoints can return dynamic data passed by query string, URI, and others, instead of static responses.

Open Source

Moclojer is open source, allowing you to download the binary or code and keep it in your private repository.

No-Code

Supports digital transformation processes by enabling users to create an API mock server without programming, using YAML or OpenAPI specifications.

Simple Spec

Allows for simple and objective specification for writing endpoints using YAML files, suitable for large projects.

OpenAPI 3 Support

Supports the OpenAPI 3 specification, allowing you to read the exported specification from your project.

Multi Domain

Supports multi-domain configurations in the same file, enabling specification of endpoints for multiple domains.

Dynamic Return

Enables dynamic data return, allowing endpoint responses to vary based on query strings, URI, and other inputs.

External Body

Allows loading of external files as request returns, including text and JSON files.

API Builder

The moclojer supports API first development. You can design your API directly using YAML, EDN, and OpenAPI 2 specifications. This specification can act as the only source of truth for your API design, allowing the generation of documentation, mock servers, and client SDKs.

Open Source Contribution

Moclojer contributes to the Open Source (Clojure) community by opening up the solutions developed internally as much as possible. This includes contributing to the development of library and ecosystem advancements.

API Mock Service

Provides a SaaS version of an API mock solution for proprietary, development or commercial use.

Automatic Deactivation of Mocks

Mocks that do not receive any type of request within 24 hours are automatically deactivated, applicable to the "free" plan.

Mock Reactivation

Deactivated mocks can be reactivated manually via the dashboard.

Open Source

MoClojer is open source, allowing you to download the binary or code and keep it in your private infrastructure, or use it in your development environment or wherever you prefer. It was created out of personal need and not as a business endeavor.

No-code Technology

Supports digital transformation from idea to innovation, enabling effective and efficient development without coding. Allows organizations to implement agile strategies and rapidly develop solutions to adapt to business needs.

Simple Spec

Provides a simple and objective specification for writing endpoints. It uses YAML as the file type for configuration, moving in the direction of large projects.

OpenAPI 3 support

Supports the OpenAPI 3 specification, enabling you to read the exported specifications from your project and build the endpoints specified in your existing API.

Multi-domain support

The moclojer specification allows you to configure endpoints for multiple domains within the same configuration file. This means you can manage different domains and their respective endpoints efficiently from one place.

Dynamic Return

This feature allows the endpoint return to be dynamic by using data passed via query string, URI, and other parameters.

Path Params

The parameters passed to the endpoint in the format /hello/:username to dynamically return content based on the path.

Query Params

The parameters passed in the query string, like ?param1=value1¶m2=value2, which can dynamically alter the endpoint's response.

JSON Params

The parameters passed in a JSON format within a data request, such as {"param1": "value1"}, which can be used to dynamically change the response from the endpoint.

External Body as Response

Allows users to load external files as the response to a request. Supports text files, including JSON and Excel, enabling the use of spreadsheet files as the return data for requests.

TailwindCSS Integration

Mockingbird seamlessly integrates TailwindCSS for styling, allowing for consistent and scalable UI development.

Shadow-CLJS Configuration

Provides configuration settings for using Mockingbird with Shadow-CLJS in ClojureScript projects.

NPM Package

Mockingbird is available as an NPM package, making it easy to integrate into projects.

Props and Parameters

Supports intuitive props for size, rounding, shadows, padding, and margins in components.

Dynamic Generation

The library, moclojure/clj-rq, dynamically generates itself using a procedure that involves loading predefined methods via reflection and mapping them to data structures, among other tasks.

Jedis Integration

The clj-rq library wraps around the Jedis library, providing a simpler interface for Redis in the Clojure ecosystem.

Push Functionality

The library converts Redis commands into idiomatic Clojure functions, such as mapping 'push' to its equivalent Redis operations.

nREPL Configuration

Instructions on how to run an nREPL server your Clojure project using the CIDER middleware.

Neovim Setup with Conjure

Guide to configure Neovim for Clojure development using Conjure for executing Clojure code. It includes setting up keybindings and editor environment.

Emacs Setup with Cider

Guidelines for setting up Emacs for Clojure development using Cider. It involves installing necessary packages and using Cider’s auto-test mode for TDD.

Additional Resources

Links to more development resources like the official Clojure site, tutorials, and plugins like paredit.

Queue Jobs

clj-rq allows you to queue jobs and process them in the background with workers. It uses Redis Queue (RQ) to facilitate this process.

Pub/Sub

Supports publish/subscribe mechanism with channels. You can publish messages to channels and have handlers that listen and respond to these messages.

Components Library Integration

Integration with Stuart Sierra's component library is available, allowing for easier composition of clj-rq within larger applications.

Docker Configuration

The guide explains how to set up Docker for the Clojure application using a provided Dockerfile. This involves copying the application dependencies and setting the working directory.

Basic HTTP Server in Clojure

Provides the code to create a basic HTTP server in Clojure for testing on DigitalOcean's App Platform.

DigitalOcean App Platform Deployment

Instructions on how to deploy the Clojure application on DigitalOcean App Platform by linking the GitHub repository and enabling 'Autodeploy'.

Backend Services

Includes components like 'mock-api' for API interactions, 'domain' for managing resources, 'unified.mock' for handling URL interfaces, and 'yaml.generator' for mock content management.

Web Frontend

Allows interaction between users and backend services, built with StackJS, Slim, and TailwindCSS.

Data Layer

Uses Postgres for databases and Redis as a message broker using Pub/Sub.

Communication and Integration

Employs 'poll.proxy', a reverse proxy accessing various APIs.

Infrastructure

Hosted on DigitalOcean, using App Platform for scalable deployment, with databases and application logs managed using PostgreSQL and Redis, facilitated by Manifold.