project_matrix.sh

$ cat project.txt

BILLCOLLE

A multi-role billing platform built as a monorepo. Separate Next.js frontends for owner, issuer, customer and admin share a Ruby on Rails GraphQL backend.

$ ls -la project/

BILLCOLLE
Featured Project

A billing platform using Yarn Workspaces: each role gets an isolated Next.js app over a shared Rails GraphQL backend with generated, consistent schemas.

Ruby on Rails Next.js GraphQL MySQL TypeScript

The Challenge

Multi-tenant billing needs a distinct experience per role while keeping schemas consistent and preventing data leaks between stakeholders.

Our Solution

A Yarn Workspaces monorepo isolates four Next.js frontends sharing one Rails service; GraphQL code generation keeps client schemas in sync, with multi-tenant isolation in the backend.

Key Features

Four role-based apps for owner, issuer, customer and admin
Yarn Workspaces monorepo for shared dependencies
GraphQL code generation across all clients
Ruby on Rails backend with multi-tenant isolation
Shared scripts and formatting across the workspace
Card registration and payment settlement flows

Technical Architecture

Frontend

  • framework: Next.js
  • stateManagement: Apollo Client
  • styling: Tailwind / MUI
  • testing: Jest

Backend

  • runtime: Ruby
  • framework: Rails 8 (GraphQL)
  • database: MySQL
  • caching: Redis

Deployment

  • hosting: Docker
  • ci_cd: GitHub Actions
  • monitoring: N/A

Results & Impact

Four role-specific frontends over one backend

Monorepo reduces duplication across clients

GraphQL codegen keeps schemas consistent

Isolated workspaces streamline parallel development