vendure-ecommerce / vendure

The commerce platform with customization in its DNA.
https://www.vendure.io
Other
5.62k stars 995 forks source link

Migration of the Admin UI from Clarity to Tailwind #2903

Open dlhck opened 3 months ago

dlhck commented 3 months ago

Summary

This RFC proposes the migration of the Vendure Admin UI from Clarity to a Tailwind-based component library for the upcoming major release, Vendure v3. The goal is to create a modern, highly themable interface and to enable seamless plugin integration for both Angular and React.

Background

The current Admin UI, refreshed with Vendure v2, retained much of its original structure and relies on Clarity. While functional, it lacks the flexibility and modern aesthetic that we aim to achieve.

Motivation

Detailed Design

Component Library

We propose using a Tailwind-based component library. Specifically, we have identified Spartan as a suitable project, as it provides a comprehensive set of components using Angular CDK.

Theming and Customization

Framework Compatibility

Plugin Integration

Plugins with admin UI extensions should be able to utilize the new component library, ensuring a seamless look and feel.

Benefits

Alternatives

Adoption Strategy

  1. Planning: Define a detailed migration plan with milestones.
  2. Development: Incrementally rebuild components using Tailwind and Spartan.
  3. Testing: Extensive testing to ensure feature parity and stability.
  4. Documentation: Update documentation to assist developers with the new setup.
  5. Community Involvement: Engage the community through previews and feedback sessions.
  6. BC Layer: Include a plugin that enables a BC-layer, especially for styles of components in custom plugins

Unresolved Questions

Conclusion

Migrating the Vendure Admin UI from Clarity to a Tailwind-based component library will modernize the interface, enhance customization, and foster a robust plugin ecosystem. This strategic shift aligns with our vision for Vendure v3, making it a state-of-the-art digital commerce management platform, that also shows its superpowers in the Admin UI, not only in the code.