Skip to content

feat: add complete integration tutorial with Node.js backend and React frontend#54

Open
aimensahnoun wants to merge 1 commit into03-01-docs_api-setup_replace_ai-generated_getting_started_with_verified_content_migrate_getting_started_page_from_ai-generated_placeholder_to_verified_content_based_on_legacy_integration_tutorial._remove_ai_warning_banner_correct_accofrom
03-01-docs_api-setup_migrate_integration_tutorial_with_localized_images_migrate_complete_integration_tutorial_from_legacy_gitbook_to_mintlify_converting_all_19_external_image_urls_to_local_webp_assets_for_improved_performance_and_reli
Open

feat: add complete integration tutorial with Node.js backend and React frontend#54
aimensahnoun wants to merge 1 commit into03-01-docs_api-setup_replace_ai-generated_getting_started_with_verified_content_migrate_getting_started_page_from_ai-generated_placeholder_to_verified_content_based_on_legacy_integration_tutorial._remove_ai_warning_banner_correct_accofrom
03-01-docs_api-setup_migrate_integration_tutorial_with_localized_images_migrate_complete_integration_tutorial_from_legacy_gitbook_to_mintlify_converting_all_19_external_image_urls_to_local_webp_assets_for_improved_performance_and_reli

Conversation

@aimensahnoun
Copy link
Member

@aimensahnoun aimensahnoun commented Mar 2, 2026

TL;DR

Added a comprehensive integration tutorial that walks developers through building a complete payment application using Request Network API with Node.js backend and React frontend.

What changed?

Created a new integration tutorial (api-setup/integration-tutorial.mdx) that provides:

  • Step-by-step backend setup using Fastify, Drizzle ORM, and SQLite
  • API key configuration and Request Network API integration
  • Payment creation endpoint that interfaces with /v2/payouts
  • Webhook implementation for real-time payment status tracking
  • Complete React frontend with wallet connection using wagmi
  • Payment creation form and payment status viewing interface
  • End-to-end payment flow demonstration using Sepolia testnet

Added supporting images showing UI components, API portal screenshots, database views, and transaction signing flows.

How to test?

  1. Follow the backend setup instructions to create the Node.js API server
  2. Obtain API keys from the Request Network portal
  3. Set up ngrok for local webhook testing
  4. Create the React frontend application
  5. Connect a MetaMask wallet with Sepolia ETH
  6. Create a payment between two wallet addresses
  7. Observe the payment status updates through webhooks

Why make this change?

This tutorial addresses the need for comprehensive developer onboarding by providing a complete, working example that demonstrates:

  • Real-world integration patterns with Request Network API
  • Proper webhook handling for payment tracking
  • Frontend wallet integration best practices
  • End-to-end payment flow implementation

The tutorial bridges the gap between basic API documentation and practical implementation, giving developers a solid foundation to build upon.

Migrate complete Integration Tutorial from legacy GitBook to Mintlify,
converting all 19 external image URLs to local webp assets for improved
performance and reliability.
Content Migration:
- Port full Integration Tutorial content from /request-network-api/integration-tutorial
- Backend setup: Fastify + Drizzle + SQLite configuration with complete code
- Frontend implementation: React + Vite + wagmi wallet integration
- Webhook handling with signature verification examples
- Step-by-step walkthrough from API key creation to payment confirmation
Format Conversions:
- Convert GitBook <figure> tags to Mintlify <Frame> components
- Transform markdown image syntax to JSX <img> tags for MDX compatibility
- Remove angle brackets around URLs to prevent JSX parsing errors
- Add frontmatter (title, description) for Mintlify page structure
Image Localization:
- Download and convert all 19 tutorial screenshots to webp format
- Organize images in images/api-setup/integration-tutorial/ directory
- Replace all external gitbook.io URLs with local paths
- Images included: folder-structure, api-portal steps, database-studio,
  ngrok-terminal, webhook steps, vite-setup, UI components, wallet states,
  payment flows, and confirmation screenshots
Navigation:
- Add Integration Tutorial to docs.json API Setup section
- Position between Getting Started and API Portal docs for logical flow
Performance:
- Eliminate external image dependencies (19 GitBook URLs removed)
- Reduce page load times with local webp assets
- Enable offline documentation viewing
All content preserved exactly from legacy docs with only necessary
format conversions for Mintlify compatibility.
Copy link
Member Author

aimensahnoun commented Mar 2, 2026

Warning

This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

This stack of pull requests is managed by Graphite. Learn more about stacking.

@aimensahnoun aimensahnoun self-assigned this Mar 2, 2026
@aimensahnoun aimensahnoun changed the title docs(api-setup): migrate Integration Tutorial with localized images Migrate complete Integration Tutorial from legacy GitBook to Mintlify, converting all 19 external image URLs to local webp assets for improved performance and reliability. Content Migrati Add complete integration tutorial with Node.js backend and React frontend Mar 2, 2026
@aimensahnoun aimensahnoun changed the title Add complete integration tutorial with Node.js backend and React frontend feat: add complete integration tutorial with Node.js backend and React frontend Mar 2, 2026
@aimensahnoun aimensahnoun marked this pull request as ready for review March 2, 2026 12:03
@greptile-apps
Copy link

greptile-apps bot commented Mar 2, 2026

Greptile Summary

This PR adds a comprehensive integration tutorial migrated from legacy GitBook documentation to Mintlify. The tutorial provides a complete end-to-end walkthrough for building a payment application using Request Network API with Node.js backend (Fastify + Drizzle + SQLite) and React frontend (wagmi wallet integration).

Key additions:

  • Step-by-step backend setup with API integration, payment creation endpoint, and webhook handling
  • Complete React frontend with wallet connection and payment management UI
  • 19 localized webp images replacing external GitBook URLs
  • Proper Mintlify component structure with Frame components and frontmatter

Issues found:

  • Missing eq import from drizzle-orm causing runtime errors (lines 297, 594)
  • Image filename typo: wallet-conencted.webp instead of wallet-connected.webp
  • Text spelling errors: "succesfully" → "successfully", "insert-you-api-key" → "insert-your-api-key"

The tutorial content is well-structured and follows most Mintlify best practices, but the missing import is a critical issue that will prevent the code from running.

Confidence Score: 3/5

  • This PR has critical syntax errors that will prevent the tutorial code from running
  • Score reflects a critical missing import (eq from drizzle-orm) that will cause runtime errors when users follow the tutorial, along with minor typos in filenames and text. While the documentation structure is solid and comprehensive, the code examples must be executable for a tutorial to be effective.
  • Primary attention needed on api-setup/integration-tutorial.mdx for the missing import fix and typo corrections

Important Files Changed

Filename Overview
api-setup/integration-tutorial.mdx Comprehensive tutorial with several issues: missing eq import from drizzle-orm (lines 297, 594), typos in image filename and text
docs.json Added integration tutorial to navigation between getting-started and api-portal-manage-api-keys-and-webhooks
images/api-setup/integration-tutorial/wallet-conencted.webp Typo in filename: should be wallet-connected.webp instead of wallet-conencted.webp

Last reviewed commit: 5746dae

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

21 files reviewed, 5 comments

Edit Code Review Agent Settings | Greptile

Comment on lines +196 to +200
// src/index.ts
import 'dotenv/config';
import Fastify, { FastifyRequest, FastifyReply } from 'fastify';
import { db } from './db';
import { payments } from './db/schema';
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing import for eq function from drizzle-orm

The code uses eq() on lines 297 and 594 but never imports it. Add this import:

Suggested change
// src/index.ts
import 'dotenv/config';
import Fastify, { FastifyRequest, FastifyReply } from 'fastify';
import { db } from './db';
import { payments } from './db/schema';
// src/index.ts
import 'dotenv/config';
import Fastify, { FastifyRequest, FastifyReply } from 'fastify';
import { db } from './db';
import { payments } from './db/schema';
import { eq } from 'drizzle-orm';

The final result should look something like this with the wallet connection working.

<Frame>
<img src="/images/api-setup/integration-tutorial/wallet-conencted.webp" alt="Wallet connected" />
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in image filename reference

Suggested change
<img src="/images/api-setup/integration-tutorial/wallet-conencted.webp" alt="Wallet connected" />
<img src="/images/api-setup/integration-tutorial/wallet-connected.webp" alt="Wallet connected" />

<img src="/images/api-setup/integration-tutorial/payment-confirmed.webp" alt="Payment confirmed" />
</Frame>

This is it, you have succesfully built a basic application integrating our API to move actual test funds between two wallets.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Spelling error

Suggested change
This is it, you have succesfully built a basic application integrating our API to move actual test funds between two wallets.
This is it, you have successfully built a basic application integrating our API to move actual test funds between two wallets.


```
// .env
RN_API_KEY=<insert-you-api-key>
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in placeholder: "insert-you-api-key" should be "insert-your-api-key"

@greptile-apps
Copy link

greptile-apps bot commented Mar 2, 2026

Additional Comments (1)

images/api-setup/integration-tutorial/wallet-conencted.webp
Rename file to wallet-connected.webp to fix typo

Copy link
Contributor

@bassgeta bassgeta left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Requesting changes for the moment since that codesandbox link doesn't work, but other than that good job with this 😎


We will be creating a simple node server integrating the Request Network API to create payments and track their status. We are going to use `fastify` as our server and use `drizzle` with `SQLite` to store our payment data. Additionally, we'll be creating a simple React web application to interact with the API and execute payments.

View the entire codebase on [Code Sandbox](https://codesandbox.io/p/github/RequestNetwork/integration-demo/main?workspaceId=ws_ADdDA8Vov3FqF921ntkFf).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link doesn't work :thinking_face: Is this an issue we should resolve or do we just want to inherit the bug from previous docs?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants