Skip to main content

Overview

Reana JupyterLab is composed of two main components: the frontend and the backend. The frontend is a JupyterLab extension that is written in TypeScript and React. The backend is a JupyterLab server extension that is written in Python. The frontend is responsible for the user interface and the backend is responsible for the server-side logic.

Folder Structure

Here is the basic folder structure of the major frontend and backend components of this extension. This documentation will be separated by frontend and backend components.

reana-jupyterlab-extension/
├── pyproject.toml
├── requirements.txt
├── setup.py
├── src/
│ ├── components/
│ │ ├── Box.tsx
│ │ ├── Button.tsx
│ │ ├── Dropdown.tsx
│ │ ├── FileBrowser.tsx
│ │ ├── Header.tsx
│ │ ├── HorizontalHeading.tsx
│ │ ├── InlineDropdown.tsx
│ │ ├── Loading.tsx
│ │ ├── MenuBar.tsx
│ │ ├── Pagination.tsx
│ │ ├── ReanaLogo.tsx
│ │ ├── Spinning.tsx
│ │ ├── TextField.tsx
│ │ ├── TooltipIfTruncated.tsx
│ │ ├── @Connection/
│ │ │ └── ConnectionForm.tsx
│ │ ├── @Create/
│ │ │ └── CreateForm.tsx
│ │ └── @Workflows/
│ │ ├── WorkflowDetails.tsx
│ │ ├── WorkflowEngineLogs.tsx
│ │ ├── WorkflowJobLogs.tsx
│ │ ├── WorkflowOverview.tsx
│ │ ├── WorkflowSpecification.tsx
│ │ ├── WorkflowWorkspaceFile.tsx
│ │ ├── WorkflowsFilters.tsx
│ │ └── WorkflowsList.tsx
│ ├── images/
│ │ └── reana-icon.svg
│ ├── stores/
│ │ └── UIStore.ts
│ ├── utils/
│ │ └── ApiRequest.ts
│ ├── widgets/
│ │ └── SidebarPanel.tsx
│ ├── const.ts
│ ├── index.tsx
│ ├── svg.d.tsx
│ ├── types.ts
│ └── utils.ts
├── style/
│ ├── base.css
│ ├── index.css
│ └── index.js
└── reana_jupyterlab/
├── __init__.py
├── _version.py
├── const.py
├── server.py
└── handlers/
├── __init__.py
├── connection.py
├── files.py
├── handlers.py
└── workflows.py