Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Ux Components Laravel Package

chrisdev/ux-components

View on GitHub
Deep Wiki
Context7

Symfony UX Starter - Roadmap

Vision

Créer un starter Symfony moderne basé sur des composants UX réutilisables, autonomes, testés et découplés des implémentations métier.

Le projet ne vise pas à devenir un framework de génération d'administration type EasyAdmin.

Le projet vise à fournir des composants UX robustes permettant de construire rapidement des applications métier modernes.


Version actuelle v1.0.2

Composants disponibles

  • Card
  • Badge
  • Alert
  • Navbar
  • Carousel
  • Account
  • UX Map / Leaflet
  • DataTable LiveComponent

DataTable

Fonctionnalités :

  • Colonnes dynamiques
  • Lignes dynamiques
  • Actions dynamiques
  • Tri dynamique
  • Filtres dynamiques
  • AutoChoices
  • Multi-filtres
  • LiveComponent
  • Responsive
  • Dark Mode
  • Tests

Qualité

Validation systématique :

make test
make phpstan
make lint-twig
make npm-build

Prochaine version

v1.0.3

Validation réelle de la DataTable

Faker Integration

  • Installation de Faker en dépendance dev
  • Génération de datasets réalistes
  • Factory de démonstration

Pagination

  • Validation sur plusieurs pages
  • Validation du maintien des filtres
  • Validation du maintien du tri

Tri

  • Validation sur datasets volumineux

Filtres

  • Validation autoChoices
  • Validation multi-filtres
  • Validation cas limites

Responsive

  • Mobile
  • Tablette
  • Desktop

Dark Mode

  • Validation complète

Backlog prioritaire

DataTable - DataSource Abstraction

Objectif

Supprimer le dernier couplage fort :

'rows' => [...]

Architecture cible

DataTable
    │
    ▼
DataSourceResolver
    │
    ▼
DataSourceInterface
    ├── ArrayDataSource
    ├── DoctrineDataSource
    └── FutureDataSources

Fonctionnalités

  • DataSourceInterface
  • DataSourceResolver
  • ArrayDataSource
  • DoctrineDataSource

Utilisation cible

[
    'source' => User::class,
]

Compatibilité

Conserver :

[
    'rows' => [...]
]

DataTable - Bulk Actions

Objectifs

Permettre l'exécution d'actions sur plusieurs lignes sélectionnées.

Fonctionnalités

  • Sélection de lignes
  • Sélection globale
  • Bulk Actions
  • Confirmation
  • Intégration LiveComponent

Cas d'usage

☑ Devis #001
☑ Devis #002
☑ Devis #003

[Générer les factures]

DataTable - Renderers

Objectif

Permettre des rendus spécialisés.

Renderers envisagés

  • BadgeRenderer
  • DateRenderer
  • DateTimeRenderer
  • MoneyRenderer
  • BooleanRenderer
  • EmailRenderer
  • LinkRenderer

Exemple

[
    'key' => 'status',
    'renderer' => 'badge',
]

Moyen terme

Chart Component

Vision

Créer un composant graphique autonome basé sur la même philosophie que la DataTable.

Exemple

[
    'type' => 'line',
    'source' => Invoice::class,
]

Types

  • Line
  • Bar
  • Pie
  • Doughnut

Architecture

Chart
    │
    ▼
DataSourceResolver
    │
    ▼
DataSourceInterface

Fonctionnalités

  • Responsive
  • Dark Mode
  • Live updates
  • Tests

Stat Card Component

Objectif

Afficher rapidement des indicateurs métier.

Exemples

  • Chiffre d'affaires
  • Nombre de clients
  • Nombre de devis
  • Nombre de factures

Exemple

[
    'label' => 'Clients',
    'value' => 245,
]

Timeline Component

Objectif

Afficher des événements métier chronologiques.

Cas d'usage

  • Historique client
  • Historique devis
  • Historique factures
  • Logs applicatifs

Long terme

Metadata System

Objectif

Permettre la configuration automatique des composants.

Exemple

#[DataTableColumn(
    label: 'Email',
    sortable: true,
    filterable: true
)]
private string $email;

Utilisations futures

  • DataTable
  • Export
  • Import
  • Statistiques
  • API

Export System

Formats

  • CSV
  • XLSX

Intégration DataTable

'export' => [
    'csv' => true,
    'xlsx' => true,
]

Import System

Formats

  • CSV
  • XLSX

Validation

  • Mapping
  • Validation métier
  • Prévisualisation

CRM v2

Vision

Reconstruire le CRM à partir du Starter UX.

Approche

  • Capitaliser sur l'expérience du CRM v1
  • Réutiliser les composants existants
  • Découper systématiquement les tâches
  • Conserver une architecture modulaire

Modules envisagés

  • Société
  • Clients
  • Produits
  • Devis
  • Factures
  • Dashboard
  • Documents PDF

Hors périmètre

Le projet ne vise pas à devenir :

  • EasyAdmin
  • Générateur CRUD
  • Générateur de Dashboard
  • Générateur de Menus
  • Framework d'administration complet

La philosophie reste :

Construire des composants UX autonomes, réutilisables, testés et découplés du métier.


Qualité

Chaque évolution doit respecter :

make test
make phpstan
make lint-twig
make npm-build

Aucune régression n'est acceptée.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor