Repository structure ==================== An outline of the repository structure is given below: .. code-block:: console ska-src-maltopuft-frontend/ ├─ cypress/ ├─ docs/ ├─ public/ ├─ src/ │ ├─ __tests__/ │ ├─ components/ │ ├─ config/ │ ├─ features/ │ ├─ lib/ │ ├─ pages/ │ ├─ types/ ├─ .env ├─ package.json ├─ tsconfig.json ├─ viteconfig.json .. note:: The directory structure is subject to change during early prototyping. * ``cypress``: Configuration and end-to-end (e2e) test files for the `Cypress `_ framework. * ``docs``: Developer documentation pages generated with `sphinx `_. * ``src``: Application code. * ``__tests__``: Component and unit tests (using Cypress). * ``components``: Generic components which can be re-used across several other (unrelated) components. * ``config``: Global application configuration such as environment variables. * ``features``: * ``lib``: Configures external libraries for use in the context of the application. * ``pages``: Configures the pages rendered when accessing different application routes. * ``types``: Generic interfaces and type definitions used throughout the application. * ``.env``: Environment variables. * ``package.json``: ``npm`` packages and configuration. * ``tsconfig.json``: Typescript configuration. * ``viteconfig.json``: `Vite `_ configuration. More complex features in the ``src/features`` package may be further split up into a package structure similar to below: .. code-block:: console features/ ├─ foo/ │ ├─ api/ │ ├─ components/ │ ├─ styles/ │ ├─ types/ ├─ bar/ │ ├─ ... * ``api``: API calls used by the feature and, if applicable, `tanstack-query `_ wrappers around the API. * ``components/``: The React components used in the feature. * ``styles/``: CSS styling used by the feature's components. * ``types/``: Interface and type definitions for objects used by the feature.