Skip to content

Consolidate letraz-server, letraz-client, letraz-admin and letraz-tf (Terraform configuration) into a monorepo #260

@pingSubhajit

Description

@pingSubhajit

The Letraz ecosystem currently consists of multiple independent repositories — letraz-server (backend), letraz-client (Next.js frontend), letraz-admin (internal admin panel), and letraz-tf (Terraform configuration for infrastructure).

Maintaining these as separate repositories has increased overhead in development, CI/CD setup, dependency management, and cross-service coordination. To streamline development, improve collaboration, and ensure consistency across all components, we need to merge all codebases into a single monorepo managed via Turborepo.

This consolidation will enable shared tooling, centralized CI/CD pipelines, consistent linting/testing setups, shared type definitions, and simpler environment configuration — improving maintainability and development velocity across the Letraz stack.

Success Criteria:

  • All four repositories (letraz-server, letraz-client, letraz-admin, letraz-tf) are successfully consolidated into a single Turborepo-based monorepo.
  • All applications build, run, and deploy correctly from within the monorepo.
  • Shared configurations (TypeScript, ESLint, Prettier, environment handling) work consistently across projects.
  • CI/CD workflows are updated to reference the monorepo structure.
  • Developer experience improves with simplified local setup and unified dependency management.

Acceptance Criteria:

  1. Monorepo Setup:
    • Initialize a new Turborepo workspace (or extend the existing one if already present).
    • Import codebases for letraz-server, letraz-client, letraz-admin, and letraz-tf into the apps/ and packages/ structure.
    • Preserve Git history for all projects if possible.
  2. Configuration Unification:
    • Standardize TypeScript configurations across all projects.
    • Consolidate ESLint, Prettier, and environment variable management into root-level configs.
    • Unify package management under a single package.json (with workspaces).
  3. CI/CD & Infrastructure:
    • Update CI/CD pipelines (GitHub Actions, etc.) to operate within the monorepo context.
    • Integrate Terraform (letraz-tf) into the monorepo, ensuring infrastructure workflows still function correctly.
    • Ensure build and deploy steps for all applications run independently and efficiently.
  4. Dependency & Build Management:
    • Deduplicate dependencies and ensure all apps build successfully with shared modules.
    • Verify that import paths and relative references are correctly updated to reflect the new structure.
  5. Testing & Verification:
    • Run and validate unit, integration, and end-to-end tests for all apps post-migration.
    • Ensure local development (including hot reload for frontend and backend) works seamlessly.
    • Confirm that deployment environments (staging, production) remain stable after the transition.
  6. Cleanup:
    • Remove redundant configurations, duplicated scripts, or obsolete project-level CI/CD files.
    • Update documentation (README, setup guides, environment instructions) to reflect the monorepo setup.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions