RADIO Framework Overview

FrontEnd System Design

ยท

2 min read

RADIO Framework Overview

๐—›๐—ผ๐˜„ ๐˜๐—ผ ๐—ฎ๐—ฝ๐—ฝ๐—ฟ๐—ผ๐—ฎ๐—ฐ๐—ต ๐—ฎ ๐—ฑ๐—ฒ๐˜€๐—ถ๐—ด๐—ป ๐—ฝ๐—ฟ๐—ผ๐—ฏ๐—น๐—ฒ๐—บ ๐—ถ๐—ป ๐—ฎ ๐—ณ๐—ฟ๐—ผ๐—ป๐˜-๐—ฒ๐—ป๐—ฑ ๐˜€๐˜†๐˜€๐˜๐—ฒ๐—บ ๐—ฑ๐—ฒ๐˜€๐—ถ๐—ด๐—ป ๐—ฟ๐—ผ๐˜‚๐—ป๐—ฑ?

For any front-end system design round, we should follow the RADIO framework.
Let's have an overview of what it is-

๐—ฅ๐—ฒ๐—พ๐˜‚๐—ถ๐—ฟ๐—ฒ๐—บ๐—ฒ๐—ป๐˜ ๐—”๐—ป๐—ฎ๐—น๐˜†๐˜€๐—ถ๐˜€ - Understand the requirements by asking as many questions as you can. Try to understand the scope of the application and who are the end users. Also, identify the functional and the non-functional requirements.

๐—”๐—ฟ๐—ฐ๐—ต๐—ถ๐˜๐—ฒ๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ (๐—›๐—ถ๐—ด๐—ต ๐—Ÿ๐—ฒ๐˜ƒ๐—ฒ๐—น ๐——๐—ฒ๐˜€๐—ถ๐—ด๐—ป) - Defines the high-level architecture of the application. Identify the key components within the frontend system and how it is interacting with the backend. Like, if we need a Query Manager that can handle network requests from the client to the server and cache, any state management mechanism that is needed, how the client will interact with the server as well as the cache, how the data will be stored at the client side, whether the pages will be rendered by CSR or SSR, etc

๐——๐—ฎ๐˜๐—ฎ ๐— ๐—ผ๐—ฑ๐—ฒ๐—น - Defines the table (entities) that will be used to store the client side data, the fields used, and its relationship with the component/s., how it should be synced with the server after the initial entry in the client side. It should also include normalization of the data.

๐—œ๐—ป๐˜๐—ฒ๐—ฟ๐—ณ๐—ฎ๐—ฐ๐—ฒ (๐—”๐—ฃ๐—œ๐˜€) - Defines the APIs along with their request and response payloads which are needed for the client to communicate with the server.

๐—ข๐—ฝ๐˜๐—ถ๐—บ๐—ถ๐˜‡๐—ฎ๐˜๐—ถ๐—ผ๐—ป - This is a vast topic in itself which can include optimization of components, assets, user experience, network, a11y, security, multi-device support, performance, etc.

ย