{"id":29035365,"url":"https://github.com/b0ir/user-management-app-qa","last_synced_at":"2025-06-26T12:08:21.275Z","repository":{"id":299118904,"uuid":"1002089943","full_name":"b0ir/user-management-app-qa","owner":"b0ir","description":"Aplicación web desarrollada en TypeScript y React para la gestión de usuarios.","archived":false,"fork":false,"pushed_at":"2025-06-19T06:06:37.000Z","size":1315,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-25T10:09:26.109Z","etag":null,"topics":["e2e-testing","github-actions","integration-testing","playwright","react","testing","typescript","unit-testing"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/b0ir.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-06-14T17:34:01.000Z","updated_at":"2025-06-19T06:24:02.000Z","dependencies_parsed_at":"2025-06-14T20:04:39.161Z","dependency_job_id":"4f496d10-767c-471d-ae86-cec3fd331f8f","html_url":"https://github.com/b0ir/user-management-app-qa","commit_stats":null,"previous_names":["b0ir/user-management-app-qa"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/b0ir/user-management-app-qa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b0ir%2Fuser-management-app-qa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b0ir%2Fuser-management-app-qa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b0ir%2Fuser-management-app-qa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b0ir%2Fuser-management-app-qa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b0ir","download_url":"https://codeload.github.com/b0ir/user-management-app-qa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b0ir%2Fuser-management-app-qa/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262063486,"owners_count":23252765,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["e2e-testing","github-actions","integration-testing","playwright","react","testing","typescript","unit-testing"],"created_at":"2025-06-26T12:08:20.562Z","updated_at":"2025-06-26T12:08:21.263Z","avatar_url":"https://github.com/b0ir.png","language":"TypeScript","readme":"# App de Gestión de Usuarios\n\n[![Continuous Integration](https://github.com/b0ir/user-management-app-qa/actions/workflows/ci.yml/badge.svg)](https://github.com/b0ir/user-management-app-qa/actions/workflows/ci.yml)\n[![CodeFactor](https://www.codefactor.io/repository/github/b0ir/user-management-app-qa/badge)](https://www.codefactor.io/repository/github/b0ir/user-management-app-qa)\n[![codecov](https://codecov.io/gh/b0ir/user-management-app-qa/graph/badge.svg?token=TJSBXO8XA9)](https://codecov.io/gh/b0ir/user-management-app-qa)\n\nAplicación web CRUD para gestión de usuarios con enfoque en testing completo. Desarrollada en TypeScript y React, incluye testing unitario, de integración y E2E con cobertura \u003e90%, CI/CD automatizado y análisis de seguridad.\n\n![Lista de Usuarios](docs/images/screenshot-lista-usuarios.png)\n\n## 🚀 Página de Prueba\n\n**Aplicación desplegada en GitHub Pages:**\n**[Ver aplicación →](https://b0ir.github.io/user-management-app-qa/)**\n\n**Credenciales de prueba:**\n\n- Usuario: `cualquier valor`\n- Contraseña: `1234`\n\n## ⚡ Inicio Rápido\n\n### Prerrequisitos\n\n- Node.js 18.x o superior\n- npm 9.x o superior\n\n```bash\n# Clonar repositorio\ngit clone https://github.com/b0ir/user-management-app-qa.git\ncd user-management-app-qa\n\n# Instalar dependencias\nnpm install\n\n# Ejecutar en desarrollo\nnpm run dev\n\n# Ejecutar en producción\nnpm run build\nnpm run preview\n```\n\nLa aplicación estará disponible en `http://localhost:3000` (desarrollo) o `http://localhost:4173` (producción).\n\n## 🧪 Comandos de Testing\n\n```bash\n# Tests unitarios y de integración\nnpm run test\n\n# Tests con reporte de coverage\nnpm run test:coverage\n\n# Tests E2E con Playwright\nnpm run test:e2e\n\n# Linting\nnpm run lint\n```\n\n## 🏗️ Funcionalidades Implementadas\n\n- **CRUD completo** de usuarios con validación en tiempo real\n- **RUT único** con algoritmo de validación chileno\n- **Campos múltiples** para teléfonos y direcciones\n- **Restricción de eliminación** en cumpleaños\n- **API REST simulada** completa\n- **Autenticación simulada** con manejo de sesión\n- **CI/CD con GitHub Actions** para testing automático, deployment y análisis de seguridad con Snyk\n- **Tests E2E** con Playwright\n- **Cobertura de código** con Codecov\n\n## 📁 Arquitectura\n\n```\nsrc/\n├── __tests__/            # Tests organizados por tipo\n│   ├── integration/      # Tests de API y flujos completos\n│   └── unit/             # Tests unitarios (context, components, utils)\n├── components/           # Componentes React modulares\n│   ├── UserForm/         # Formulario con hooks, utils y subcomponentes\n│   ├── UserList/         # Lista con subcomponentes especializados\n│   └── LoginForm.tsx     # Autenticación\n├── context/              # React Context para sesión\n├── services/             # API REST simulada con UserService\n├── types/                # Interfaces TypeScript (User, DTOs, ApiResponse)\n├── utils/                # Validaciones (RUT, email, teléfono)\n└── App.tsx               # Routing y estado global\ne2e/                      # Tests End-to-End con Playwright\n.github/workflows/        # CI/CD y análisis de seguridad\n```\n\n## 🔧 Decisiones Técnicas\n\n**Frontend:**\n\n- **React + TypeScript** para desarrollo type-safe con componentes reutilizables\n- **Tailwind CSS** para estilos responsive y consistentes\n- **Vite** para compilación rápida y mejor experiencia de desarrollo\n\n**Testing:**\n\n- **Jest** para tests unitarios e integración con cobertura de código\n- **Playwright** para tests E2E cross-browser, elegido por su versatilidad y creciente adopción en la industria\n- **CI/CD testing** automatizado en cada push y pull request\n\n**Validaciones:**\n\n- **Algoritmo de RUT chileno** con dígito verificador para validación local\n- **Validación de formularios** en tiempo real con feedback inmediato\n- **Formateo automático** de campos de entrada\n\n**UX/UI:**\n\n- **Diseño responsive** para móviles (320px+), tablets (768px+) y desktop (1024px+)\n- **Estados visuales** para loading, error y validación\n- **Navegación accesible** por teclado y screen readers\n\n## 📊 Cobertura de Testing\n\n- **Tests unitarios:** Validaciones (RUT, email), hooks personalizados y utilidades\n- **Tests de integración:** API, flujos de formularios y interacciones entre componentes\n- **Tests E2E:** Casos de uso críticos (CRUD completo, autenticación, validaciones)\n- **Cobertura:** \u003e90% en funciones y líneas críticas con reporte automatizado\n- **Testing cross-browser:** Chrome, Firefox, Safari, Mobile Chrome y Mobile Safari en tests E2E\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb0ir%2Fuser-management-app-qa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb0ir%2Fuser-management-app-qa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb0ir%2Fuser-management-app-qa/lists"}