Skip to content

dicodingacademy/n8n-ownership-transfer

Repository files navigation

Transfer Owner Service

A Node.js Express service for handling ownership transfers with PostgreSQL database.

Features

  • Express.js REST API
  • PostgreSQL database integration
  • Authorization with access key
  • Health check endpoint
  • Docker support
  • Development with hot reload

Prerequisites

  • Node.js 18+
  • PostgreSQL 15+
  • Docker & Docker Compose (optional)

Quick Start with Docker

  1. Copy environment file:

    cp .env.example .env
  2. Start services:

    pnpm docker:dev
  3. View logs:

    pnpm docker:logs
  4. Stop services:

    pnpm docker:down

Manual Setup

  1. Install dependencies:

    pnpm install
  2. Setup environment:

    cp .env.example .env
    # Edit .env with your database configuration
  3. Setup database (run init.sql in your PostgreSQL database)

  4. Start server:

    pnpm dev

API Endpoints

POST /ownership

Transfer ownership to target email.

Headers:

  • Authorization-Access-Key: your-secret-access-key

Body:

{
  "targetEmail": "[email protected]"
}

Response:

{
  "success": true
}

GET /health

Health check endpoint.

Response:

{
  "status": "healthy",
  "database": { "success": true, "time": "2023-..." },
  "timestamp": "2023-..."
}

Docker Commands

# Build Docker image
pnpm docker:build

# Run Docker container
pnpm docker:run

# Development with Docker Compose
pnpm docker:dev

# Stop Docker Compose
pnpm docker:down

# View logs
pnpm docker:logs

Environment Variables

  • PORT - Server port (default: 9009)
  • CONNECTION_URL - PostgreSQL connection string
  • AUTHORIZATION_ACCESS_KEY - API access key
  • NODE_ENV - Environment (development/production)

Database Schema

  • users - User accounts with email
  • assets - Assets with ownership
  • ownership_transfers - Transfer history

Scripts

  • pnpm start - Start production server
  • pnpm dev - Start development server with hot reload
  • pnpm docker:dev - Start with Docker Compose
  • pnpm docker:down - Stop Docker Compose services

License

ISC

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published