-
Notifications
You must be signed in to change notification settings - Fork 0
Description
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:
- Monorepo Setup:
- Initialize a new Turborepo workspace (or extend the existing one if already present).
- Import codebases for
letraz-server,letraz-client,letraz-admin, andletraz-tfinto theapps/andpackages/structure. - Preserve Git history for all projects if possible.
- 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).
- 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.
- 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.
- 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.
- 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.