📄️ Create an App
Creating a New App
📄️ Handle Internationalization (i18n)
A localized app adapts to a specific culture by displaying text in the correct language and formatting data to expectations. With western languages, it often boils down to providing the app with the translated text and a mechanism to choose the correct translation. Things like currency, measurement units, dates, etc., are formatted on the fly.
📄️ Handle Routing
Links vs onClick Handlers vs history.push
📄️ Migrate to the App Folder Structure
A critical component in Rhapsody's architecture is the idea of an "app". An app is a self-contained slice of Rhapsody that is specific to a domain, is owned by a single team, registers itself with the platform, and is decoupled from other apps in Rhapsody. For more information on Rhapsody's architecture, see the Rhapsody Vision and Architecture doc.
📄️ Render React Components Inside Angular
We use a library called ng-react to render React components inside of Angular. All components that are to be rendered in Angular are exported from src/app-index.js. All exports from this file are added to window.SLApp at runtime. This is important as components are rendered using this global variable reference.
📄️ Use Knip
Rhapsody uses Knip for automated dependency management. Knip finds and fixes unused files, exports and dependencies, using deep analysis from fine-grained entry points based on the actual frameworks and tooling in (mono)repos for accurate and actionable results.
📄️ Use React Query
React Query is a framework-agnostic (even though it has "React" in the name) server data management library. This document contains an overview of why we use React Query, basic examples to get started, advanced examples for more specific use cases, and best practices for working with React Query.
📄️ Use the App Registry
What It Is
📄️ Use the Devtools
Rhapsody includes a suite of devtools you can use when developing locally or in QA. You can toggle the devtools' visibility using the keyboard shortcut ctrl + opt + cmd + d.
📄️ View Test Coverage
Check default coverage
📄️ Work with PNPM
Rhapsody uses pnpm as its package manager.