Skip to content

kel222ea/ui-exercise

Repository files navigation

Design Pattern Comparison

A comparison of implementation patterns between two applications: the production-ready frontend and the prototype UX.

Project Overview

This project showcases side-by-side comparisons of key architectural decisions and implementation patterns:

  • Wizard vs Modal workflows
  • Redux + RTK Query vs React useState
  • Enterprise validation vs Basic form validation
  • Comprehensive status handling vs Simple indicators
  • PatternFly tables vs Custom HTML tables

Architecture Comparison

frontend (Production)

  • PatternFly 4.x components
  • Redux + RTK Query state management
  • Multi-step wizard workflows (15+ steps)
  • Comprehensive validation system with custom hooks
  • Enterprise data tables with sorting, filtering, pagination
  • Detailed error handling with structured error objects

UX (Prototype)

  • PatternFly 4.x components
  • React useState hooks for state management
  • Modal-based workflows with tabs
  • Basic form validation
  • Custom HTML tables with simple interactions
  • Streamlined error handling with toast notifications

Project Structure

/src
├── app/
│   ├── App.tsx                    # Main application shell
│   ├── AppNavigation.tsx          # Sidebar navigation
│   └── AppRoutes.tsx             # Route configuration
├── components/
│   ├── Overview.tsx              # Project introduction
│   ├── WizardComparison.tsx      # Wizard vs Modal patterns
│   ├── StateManagementComparison.tsx  # Redux vs useState
│   ├── FormValidationComparison.tsx   # Validation systems
│   ├── StatusIndicatorsComparison.tsx # Status handling
│   └── DataTablesComparison.tsx       # Table implementations
└── index.tsx                     # Application entry point

Key Insights

When to Use Enterprise Patterns (Frontend)

  • Building production applications
  • Complex state management requirements
  • Need for comprehensive error handling
  • Long-term maintainability
  • Team collaboration at scale

When to Use Prototype Patterns (UX)

  • Rapid prototyping and iteration
  • Simple state requirements
  • Demo and proof-of-concept projects
  • Learning and experimentation
  • Quick time-to-market

Getting Started

# Install dependencies
npm install

# Start development server
npm start

# Build for production
npm run build

# Run tests
npm test

Design System

Built with PatternFly 5.x components for modern design consistency and accessibility.

Technologies Used

  • React 18 with TypeScript
  • PatternFly React design system
  • React Router for navigation
  • Webpack for bundling
  • Jest for testing

Learning Outcomes

This project demonstrates:

  • Architectural trade-offs between enterprise and prototype approaches
  • State management pattern comparisons
  • Form validation strategy differences
  • UI/UX pattern implementations
  • Code organization and maintainability considerations

This project compares different implementation approaches for similar functionality, helping developers understand when to choose different architectural patterns.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published