Skip to content

Conversation

@henfrydls
Copy link
Owner

This PR introduces the CI/CD pipelines (Quality and Build workflows) and the complete UI/UX overhaul (Phase 1.1).

Changes:

  • CI/CD: Added quality.yml (lint/test) and build.yml (build/archive).
  • UI/UX: Implemented new MainLayout, DashboardView, and TeamMatrixPage.
  • Architecture: Updated project structure to Monorepo standard.
  • Documentation: Updated README.md.

Verification:

  • Verified npm test passes locally.
  • Verified npm run build succeeds locally.

- Restructured project to monorepo (/client + /server)
- Added Node.js/Express backend with Prisma ORM
- Implemented SQLite database with Category, Skill, Collaborator, Assessment, Snapshot models
- Migrated mock API from vite.config.js to real Express endpoints
- Added comprehensive test suite (12 tests, 90.1% coverage)
- Setup Vitest with coverage thresholds (>80%)
…mponents (Table, Matrix, KPI, Card variants) - Add mobile responsive accordion for Dashboard team table - Add skill name truncation with ID reference in matrix - Addresses Nielsen heuristic #1 (visibility of system status)
…ation in collaborator detail view - Add critical gap badge (!) on LevelDot for non-chromatic accessibility - Add icons and bg highlight to tabs for better active state visibility - Add left border indicator to active sidebar item - Add first names under avatars in matrix for better recognition - Add competentDark color for WCAG AA text compliance - Add EmptyState component for empty data scenarios
…tions (CSS keyframes) for smooth page transitions - Add trend indicator (+0.3 vs mes anterior) to dashboard KPI - Add rich tooltips in matrix showing collaborator + skill + level - Add collapsible categories with animated ChevronDown in matrix - Add animate-fade-in class to Dashboard and Matrix views Closes UX audit polish phase (14 total improvements)
…dLogic.js with prioritization algorithms - Rewrite DashboardView with executive summary layout - Add Hero KPI with progress bar toward target (3.5) - Add team distribution widget (Beginners/Competent/Experts) - Add prioritized gaps widget (ordered by impact score) - Add automatic insights (underutilized talent detection) - Add quick actions bar - Remove detailed table (moved to Team Matrix) - Reduce data points from ~35 to ~10 (80% less cognitive load)
- Fix NaN bug by adding promedio field to all collaborators in mockData.js
- Replace Unicode tab icons with Lucide components (Grid3x3, User, Layers)
- Enhance LevelDot: increase size to 32px, add glow effect on hover, add pulse animation on critical badges
- Add disabled state with 'Próximamente' label to Quick Action buttons
- Add CSS utilities: animate-stagger, tooltip-delayed, hover-lift
- Apply stagger animation to collaborator cards list

Resolves P0, P2, P3 items from UX audit consolidation
Critical backend-ready features:

- Add DashboardSkeleton component matching full Dashboard layout
- Add CollaboratorListSkeleton for person list view
- Create SnapshotSelector.jsx with:
  - Current snapshot dropdown
  - Compare with dropdown
  - Create Snapshot button (with 'Próximamente' tooltip)
  - Comparison info display
- Integrate loading states in DashboardView (800ms simulated)
- Integrate loading states in TeamMatrixPage (600ms simulated)
- Update LoadingSkeleton exports

Prepares UI for backend integration without blank flashes
New page completing the user journey: Dashboard  Team Matrix  Reports

Features:
- Quick Export section with 4 formats (PDF, Excel, CSV, JSON)
- Functional CSV and JSON export with file download
- Gap Analysis showing categories with highest impact
- Team Summary with distribution visualization
- Trend Analysis section (mock data for demo)
- Training Recommendations placeholder

Integration:
- Added /reports route to App.jsx
- Added Reports nav item with FileText icon to Layout sidebar
- Added ReportsPage export to pages index
Implements Option A from TEMPORAL_CONTEXT_PROPOSAL.md:

Visual Indicators:
- 'En vivo' badge with green pulsing dot when viewing current data
- 'MODO HISTÓRICO' banner when viewing historical snapshot
- Banner uses ocre/warning palette (bg-warning/10, border-warning)
- Shows relative time ('hace 3 meses') and exact cutoff date

Interactions:
- 'Volver a Actualidad' button to return to live mode
- Dropdown styling changes to warning color in historical mode
- Selector card gets warning border ring in historical mode

This clearly signals to managers when they're viewing historical
data vs real-time team metrics.
Phase 1 Implementation - Settings Page with 3 tabs:

CollaboratorsTab:
- Table with inline editing (click cell to edit)
- Search/filter functionality
- Create modal (name + role required, email optional)
- Action menu with edit/view/deactivate options
- Avatar initials and competence badges
- Empty state with CTA

SkillsTab:
- Accordion view by category
- Skills count per category
- Edit modal with rubric definition (Levels 1, 3, 5)
- Add skill inline per category
- Colored level indicators

CategoriesTab:
- Drag & drop reordering (native HTML5)
- Color picker with preset palette
- Skill count per category
- Create modal with name + color
- Protection against deleting categories with skills

Files added:
- SettingsPage.jsx with tab navigation
- CollaboratorsTab.jsx
- SkillsTab.jsx
- CategoriesTab.jsx
- settings/index.js exports
…-primary/5 background on active tab - Clean underline-only style with border-b-2 - Consistent gap-6 spacing between tabs - Matches Settings page tab navigation
…d with ExportButton (loading/success states) - Remove hover-lift class (only border transitions now) - Remove ChevronRight icons (confusing navigation affordance) - Neutral backgrounds: gray-50 instead of colored - Remove emoji from section headers - Add SnapshotSelector for temporal context - Standardize typography to match Corporate Zen
…ggle component with Manager/Director/HR pills - ManagerMetrics: Gaps críticos, Bus factor risks, Acciones recomendadas - DirectorMetrics: Health Score hero, Competency Map, Investment priorities (ROI) - HRMetrics: Talent distribution, IDP status, Succession planning - Views switch dynamically preserving export section
…rs - Created ROADMAP.md with 5-phase product timeline - HRMetrics: IDP marked as Phase 3, Succession as Phase 4 - Added ComingSoonSection component for elegant placeholders - Talent Distribution remains fully functional
Includes:\n- New MainLayout and DashboardView\n- GitHub Actions workflows (quality.yml, build.yml)\n- README update for Monorepo architecture
- Add JWT authentication (login, verify endpoints)
- Add auth middleware for protected routes
- Add CRUD endpoints for categories and skills
- Add export/import endpoints for data portability
- Create AuthContext and LoginModal for frontend auth
- Update Layout to show Settings only when authenticated
- Connect CategoriesTab and SkillsTab to real API
- Update seed.js with full demo data (5 collaborators)
- DashboardView now fetches from /api/data
- TransposedMatrixTable receives data as props
- TeamMatrixPage fetches from API and passes to sub-views
- CollaboratorListView and CategoryGridView accept props
- Updated seed.js with full demo data (5 collaborators, 38 skills)
- Added db:seed script to package.json
- ReportsPage now fetches from /api/data
- Fixed CSV export to calculate promedio dynamically
- All mock data imports removed from main views
- DirectorMetrics and HRMetrics use API data
- Update calculateExecutiveMetrics to calculate promedio dynamically from skills
- Fix React key warning by using React.Fragment with key prop
- Add React import for React.Fragment usage
… Removed criticidad check for the 0/N edge case - All 9 audit test cases now passing
…per role - New RoleProfilesTab with C/I/D/N/A segmented controls - EvaluationsTab now reads criticidad from role profile - N/A skills hidden with count message in categories
- Add PUT /api/role-profiles/:rol/rename endpoint with transaction
  - Updates RoleProfile name
  - Cascades to Collaborator.rol and EvaluationSession.collaboratorRol
- Add EditRoleModal component for renaming roles
- Redesign Grid/List cards with:
  - 3-dot action menu (Editar skills, Renombrar)
  - Collaborator count per profile
  - Improved visual hierarchy
- Add cross-tab data refresh mechanism:
  - dataVersion state in SettingsPage
  - onDataChange callback from RoleProfilesTab
  - dataVersion dependency in CollaboratorsTab and EvaluationsTab
- Add createPortal to all modals for full-screen coverage
- Replace RoleProfilesTab floating toast with sticky bottom bar
- Refactor distribution logic to use weighted 'evaluarSkill' (Criticality x Frequency)

- Enrich seed.js with diverse profiles and historical data

- Implement context-aware Time Travel switching

- Update unit tests and documentation
- Rename and refactor Reports module to Evolution
- Implement complete Evolution Dashboard using chaos testing seed data
- Add evolutionLogic.js for data transformation and edge case handling
- Add EvolutionMetrics (KPI cards), EvolutionMainChart (Area trend), EvolutionList (Sparklines)
- Handle inactive users, gaps, role changes, and one-shot evaluations
- Update navigation and routes
- Replace Evolution View with 'Coming Soon' placeholder
- Delete unused Evolution components (Metrics, Chart, List)
- Create reusable 'StatCard' component based on Dashboard design
- Refactor 'ExecutiveKPIGrid' to use 'StatCard' for consistency
…te index.html with new branding meta tags - Replace Skills Matrix references with Skima - Add visual identity documentation - Update package name to skima
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants