Folder & Repo Structure

How Business Systems are organised inside the repository and how they combine to form Projects.

The Innopo Modular Systems Framework (IMSF) is designed so that each Business System is self-contained, versioned, and reusable across multiple projects. This page explains how Business Systems are structured inside the repository and how they combine to form a complete Project.

What Is a Business System?

A Business System is a reusable software module that contains everything needed to provide a specific capability; frontend, backend, schema, configuration, and documentation. Systems are independent packages that can be assembled into unique platforms without modifying their internals.

Examples include:

  • Authentication System
  • Onboarding System
  • Quote Engine
  • Automation System
  • Document Generation System

Business System Folder Structure

Every system follows the same internal structure so that it can be installed, versioned, and understood consistently across projects.

packages/systems/example-system/ src/ frontend/ pages/ components/ backend/ actions/ services/ schema/ models.prisma migrations/ config/ defaults.ts types.ts docs/ overview.md integration.md changelog.md package.json README.md

This structure ensures that:

  • Frontend UI is isolated inside frontend/
  • Backend logic is inside backend/
  • Database logic lives in schema/
  • Each system brings its own documentation
  • Migrations and models can be merged during assembly

How Systems Combine to Form a Project

A Project is a complete application assembled using multiple systems. During the assembly process (Step 3 of the IMSF process), selected systems are brought together to create the base platform.

For example, a typical platform may use:

  • auth-system – authentication & user sessions
  • onboarding-system – first-time setup flows
  • quote-engine – custom quoting functionality
  • notifications-system – email & event triggers

These systems are stitched together inside the Project’s app folder while custom workflow logic is layered on top.

Project Folder Structure

Inside the Innopo OS or a client project, the structure looks like this:

apps/project-name/ app/ (dashboard)/ quotes/ onboarding/ auth/ layout.tsx page.tsx systems/ # Installed Business Systems (read-only) auth-system/ onboarding-system/ quote-engine/ notifications-system/ workflow/ # Partner-specific logic (Step 4) rules/ actions/ branding/ integration.ts prisma/ schema.prisma # Merged models from all installed systems migrations/ env/ package.json

This placement ensures:

  • Systems remain untouched (they are imported as versioned packages)
  • Schema from each system is merged into a unified project schema
  • Custom Workflow Logic lives separately, keeping reuse clean
  • UI pages for each system map directly into the project’s routing

Summary

The repository is structured to ensure every Business System is cleanly packaged and reusable, and every Project has a predictable structure that supports modular assembly. By keeping systems independent, versioned, and self-contained, Innopo can rapidly build new platforms without rebuilding foundational components.