Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion documentation/Gemfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
source "https://rubygems.org"

gem "jekyll", "~> 4.3"
gem "jekyll-theme-chirpy", "~> 7.2"
gem "just-the-docs"

group :jekyll_plugins do
gem "jekyll-sitemap"
Expand Down
17 changes: 6 additions & 11 deletions documentation/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -43,27 +43,22 @@ GEM
safe_yaml (~> 1.0)
terminal-table (>= 1.8, < 4.0)
webrick (~> 1.7)
jekyll-archives (2.3.0)
jekyll (>= 3.6, < 5.0)
jekyll-include-cache (0.2.1)
jekyll (>= 3.7, < 5.0)
jekyll-paginate (1.1.0)
jekyll-sass-converter (3.1.0)
sass-embedded (~> 1.75)
jekyll-seo-tag (2.9.0)
jekyll (>= 3.8, < 5.0)
jekyll-sitemap (1.4.0)
jekyll (>= 3.7, < 5.0)
jekyll-theme-chirpy (7.5.0)
jekyll (~> 4.3)
jekyll-archives (~> 2.2)
jekyll-include-cache (~> 0.2)
jekyll-paginate (~> 1.1)
jekyll-seo-tag (~> 2.8)
jekyll-sitemap (~> 1.4)
jekyll-watch (2.2.1)
listen (~> 3.0)
json (2.19.8)
just-the-docs (0.12.0)
jekyll (>= 3.8.5)
jekyll-include-cache
jekyll-seo-tag (>= 2.0)
rake (>= 12.3.1)
kramdown (2.5.2)
rexml (>= 3.4.4)
kramdown-parser-gfm (1.1.0)
Expand Down Expand Up @@ -102,7 +97,7 @@ DEPENDENCIES
jekyll (~> 4.3)
jekyll-seo-tag (~> 2.8)
jekyll-sitemap
jekyll-theme-chirpy (~> 7.2)
just-the-docs

BUNDLED WITH
2.4.10
38 changes: 8 additions & 30 deletions documentation/_config.yml
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
theme: jekyll-theme-chirpy
theme: just-the-docs

# -------------------------
# Site metadata
# -------------------------
title: "Project Middleware"
tagline: A Kotlin/Ktor middleware for transforming and mapping external API responses
description: >-
ProjectMiddleware is an API transformation layer that lets clients register
mapping rules, call external APIs, and receive clean transformed responses —
Expand All @@ -17,36 +16,15 @@ lang: en
timezone: America/Sao_Paulo

# -------------------------
# Author
# Just-the-Docs settings
# -------------------------
github:
username: "LeonardoBai12"
color_scheme: dark
search_enabled: true
heading_anchors: true

social:
name: "Leonardo Bai"
email: "lb.io.dev@gmail.com"
links:
- https://github.com/LeonardoBai12

# -------------------------
# Theme preferences
# -------------------------
theme_mode: # leave blank to follow system default; or "light" / "dark"

avatar: "/assets/images/middleware-icon.jpg"

toc: true

# -------------------------
# Analytics (optional)
# -------------------------
google_analytics:
id: ""

# -------------------------
# SEO
# -------------------------
google_site_verification: ""
aux_links:
"GitHub":
- "https://github.com/LeonardoBai12/ProjectMiddleware"

# -------------------------
# Jekyll build settings
Expand Down
5 changes: 3 additions & 2 deletions documentation/about/index.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
---
layout: page
layout: default
title: About the Creator
nav_order: 7
---

<div style="display:flex; align-items:center; gap:2rem; flex-wrap:wrap; margin-bottom:2rem;">
<img src="/assets/images/perfil.jpeg"
<img src="{{ site.baseurl }}/assets/images/perfil.jpeg"
alt="Leonardo Bai"
width="140"
style="border-radius:50%; object-fit:cover; flex-shrink:0;">
Expand Down
3 changes: 2 additions & 1 deletion documentation/api-reference/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
layout: page
layout: default
title: KDoc Reference
nav_order: 6
---

The KDoc reference is auto-generated from the source code on every push to `main` using [Dokka](https://github.com/Kotlin/dokka). It documents all public and internal declarations across every module.
Expand Down
5 changes: 3 additions & 2 deletions documentation/ecosystem/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
layout: page
layout: default
title: Ecosystem
nav_order: 5
---

ProjectMiddleware is the backend engine of a small ecosystem of services and apps designed to work together. Each piece has a single responsibility and evolves independently.
Expand All @@ -13,7 +14,7 @@ ProjectMiddleware is the backend engine of a small ecosystem of services and app

A **Kotlin Multiplatform** client application for Android and iOS that provides a visual interface for creating, previewing, and managing mapped routes — all powered by ProjectMiddleware on the backend.

![Playground icon](/assets/images/middleware-playground-icon.png){: width="80" style="border-radius:12px; margin-bottom:0.5rem;"}
![Playground icon]({{ site.baseurl }}/assets/images/middleware-playground-icon.png){: width="80" style="border-radius:12px; margin-bottom:0.5rem;"}

### What it does

Expand Down
4 changes: 3 additions & 1 deletion documentation/endpoints/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
layout: page
layout: default
title: Endpoints Overview
nav_order: 4
has_children: true
---

All endpoints are served under the base URL of the deployed middleware instance. Authentication with the middleware itself uses HTTP Basic Auth on all routes.
Expand Down
4 changes: 3 additions & 1 deletion documentation/endpoints/postman.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
layout: page
layout: default
title: Postman Collection
parent: Endpoints Overview
nav_order: 1
---

The ProjectMiddleware Postman collection contains ready-to-use requests for all endpoints, with pre-filled examples for route creation, preview, and calling mapped routes.
Expand Down
10 changes: 10 additions & 0 deletions documentation/getting-started/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
layout: default
title: Getting Started
nav_order: 3
has_children: true
---

# Getting Started

Learn how to register mapping rules, call external APIs, and receive transformed responses through ProjectMiddleware.
4 changes: 3 additions & 1 deletion documentation/getting-started/mapping-request/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
layout: page
layout: default
title: Mapping Request
parent: Getting Started
nav_order: 1
---

`POST /v1/mapping` registers a new mapped route. The middleware validates the mapping rules, makes a live test call to the external API, stores the route on success, and returns the UUID-based path to use for all future calls.
Expand Down
4 changes: 3 additions & 1 deletion documentation/getting-started/mapping-rules/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
layout: page
layout: default
title: Mapping Rules
parent: Getting Started
nav_order: 2
---

Mapping rules define how the middleware transforms an external API's JSON response into your desired output shape. They are provided as the `rulesAsString` field when creating a mapped route.
Expand Down
4 changes: 3 additions & 1 deletion documentation/getting-started/preview-route/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
layout: page
layout: default
title: Preview Route
parent: Getting Started
nav_order: 3
---

`POST /v1/preview` lets you test mapping rules against a sample response body **without** registering a permanent route or making any outbound calls. Use it to iterate on your `rulesAsString` until the output looks exactly right.
Expand Down
5 changes: 3 additions & 2 deletions documentation/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
layout: page
title: ProjectMiddleware
layout: home
title: Home
nav_order: 1
---

**ProjectMiddleware** is a Kotlin/Ktor API transformation service. It acts as a middleware layer: clients register mapping rules that define how to call an external API and how to transform its JSON response. Mapped routes are then served dynamically via UUID-based paths.
Expand Down
4 changes: 3 additions & 1 deletion documentation/overview/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
layout: page
layout: default
title: How It Works
nav_order: 2
has_children: true
---

ProjectMiddleware sits between your client application and any external API. You define the transformation rules once, and the middleware handles all subsequent calls — including authentication, field mapping, and response shaping.
Expand Down
4 changes: 3 additions & 1 deletion documentation/overview/key-features.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
layout: page
layout: default
title: Key Features
parent: How It Works
nav_order: 1
---

## Flexible field mapping
Expand Down
Loading