Skip to content

intlabs-io/origin-app

 
 

Repository files navigation

Intlabs ORIGIN

Origin is a middleware platform that securely shares sensitive data between disparate data sources using dynamically defined attribute-level access rules applied via stream processing jobs.

Architecture Overview

Origin is built as a microservices architecture with the following components:

Core Services

  • Frontend App (app/) - Next.js React application providing the user interface
  • Hasura GraphQL Engine - GraphQL API data management layer with real-time subscriptions
  • PostgreSQL Database - Primary data store for metadata and application data

Data Processing Services

  • Lazy Lagoon (lazy-lagoon/) - Go service for CSV/JSON data transformation and processing
  • XLSX Processor (xlsx-processor/) - Go service for Excel file processing and transformation
  • Restructured (restructured/) - Python service for PDF processing (supports docx and pptx via translation)
    • Gotenberg required by restructured for docx and pptx
  • Steganography (steganography/) - Node.js service for audit log reference data hiding

Prerequisites

Required Tools

  • Docker - For containerized services
  • 1Password CLI - Install and sign into the 1Password CLI
    • Get access to the Intlabs Dev Shared Vault
  • Go 1.23 - For Go services
  • Node.js 23 - For JavaScript/TypeScript services
  • Just - command runner similar to make

Development Workflow with Just

This project uses Just as a command runner to manage the complex multi-service development environment.

Install via Homebrew

brew install just 

Quick Start

# Complete setup - installs dependencies, runs migrations, and starts all services just setup

Service Management

Starting Services

# Start all services in detached mode just up # run a command from a specific service just run <service-name> [args...]

Stopping Services

# Stop and remove all containers just down

Viewing Logs

# Follow logs for all services just logs # Follow logs for specific services just logs postgres graphql-engine

Development Commands

Frontend App

# Install app dependencies and inject secrets just install-app # Run the Next.js development server just run-app

Database & GraphQL

# Run database migrations and apply Hasura metadata just migrate # Generate GraphQL types and hooks just codegen # Clean database and volumes just clean-hasura

Environment Management

Secret Injection

# Inject 1Password secrets into service environment files just inject-env-file <service-name>

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published