Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
maany committed Nov 27, 2023
1 parent 155cbc1 commit c0e5358
Showing 1 changed file with 65 additions and 2 deletions.
67 changes: 65 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,71 @@
This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
## Project Specification: Rucio WebUI

### Overview

The Rucio WebUI is the new generation of the original webui used for the last decade by the Rucio communities. This project aims to enhance user experience and scalability through a clean architecture and hexagonal design. Leveraging TypeScript, ReactJS, and NextJS, this project ensures framework independence in the dynamic Javascript ecosystem.

### Key Features

- **SDK for Streaming**: Developed SDK facilitates seamless data streaming from the Rucio server to page components, ensuring a responsive user interface.

- **Typed in TypeScript with Generics**: Strict typing ensures code integrity and enhances development efficiency.

- **Accessibility and Responsiveness**: The WebUI is designed with accessibility and responsiveness in mind, ensuring usability across various devices.

- **Testing and Stability**: The project boasts extensive testing, ensuring robustness and reliability in all components.

- **Feature Toggles**: Dynamic feature toggles provide flexibility in enabling or disabling specific functionalities as needed.

- **Component Library**: Utilizing Storybooks, the WebUI incorporates a component library built with TailwindCSS, enhancing development speed and consistency.

### Future Plans

1. **Optimizing Streaming Pipelines**: Enhance the performance of background threads for improved streaming, focusing on minimizing errors and optimizing resource utilization.

2. **Design System Development**: Establish a cohesive color palette, theme, and design system for uniformity across all components.

3. **UI Expansion and Enhancement**: Collaborate with the community to identify and implement new views based on user stories, creating a comprehensive user journey and UX plan. Iterate on prototypes for seamless integration into the WebUI.

4. **Server Endpoint Expansion**: Extend Rucio Server endpoints to better align with WebUI requirements. For complex use cases involving data from multiple endpoints, create dedicated server endpoints to streamline data retrieval.

5. **End to End Testing**: Add Playright for end to end testing of the WebUI with actual Rucio servers running the back.

By contributing to the Rucio WebUI project, you play a crucial role in shaping the future of a scalable, resilient, and user-friendly interface for the Rucio ecosystem. Join us in this exciting journey to enhance data management and user interaction.


## Getting Started

First, run the development server:
### Storybooks

We use storybooks for developing and testing components. To run storybooks, run the following command:

```bash
npm run storybook
```

As you live edit the components, you would need to compile TypeScript. To do so, run the following command in a separate terminal:

```bash
npm run build-tailwind:watch
```

### Tests
There are 4 test suites, each with their own command:

```bash
npm run test:api
```

```bash
npm run test:component
```

```bash
npm run test:gateway
```

### Development
To start the development

```bash
npm run dev
Expand Down

0 comments on commit c0e5358

Please sign in to comment.