featured case studylive
fardenghi / frontend-form-choiz
frontend-form-choiz
This TypeScript project demonstrates the developer's frontend development skills with a live application available at https://frontend-form-choiz.vercel.app.
// PROJECT.SPEC
- preview
- live site
- stars
- 0
- forks
- 0
- last push
- Aug 2, 2025
LANGUAGES
TypeScript99%
CSS0.9%
JavaScript0.5%
Preview
Preview
Public preview if the site allows embedding.
This project can't be previewed here.
README
Frontend Form - Formulario Médico
Un formulario médico interactivo construido con Next.js, React y Chakra UI.
Características
- Formulario de preguntas médicas con navegación paso a paso
- Preguntas de opción única y múltiple
- Campo de texto personalizado para respuestas adicionales
- Sistema de recomendaciones basado en las respuestas
- Interfaz moderna y responsiva
Instalación
npm install
Desarrollo
npm run dev
Tests
El proyecto incluye una suite completa de tests unitarios y end-to-end.
Tests Unitarios
Librerías utilizadas:
- Jest: Framework de testing para JavaScript
- Testing Library: Utilidades para testing de componentes React
- @testing-library/jest-dom: Matchers personalizados para DOM
Ejecutar tests unitarios:
# Ejecutar todos los tests
npm test
# Ejecutar tests en modo watch
npm run test:watch
# Ejecutar tests con cobertura
npm run test:coverage
Estructura:
hooks/__tests__/- Tests de hooks personalizadosapp/components/__tests__/- Tests de componentesapp/__tests__/- Tests de lógica del formulario
Tests End-to-End
Librerías utilizadas:
- Cypress: Framework de testing end-to-end
- start-server-and-test: Utilidad para iniciar servidor y ejecutar tests
Ejecutar tests e2e:
# Ejecutar todos los tests e2e (inicia servidor automáticamente)
npm run test:e2e
# Ejecutar Cypress en modo interactivo
npm run cypress:open
# Ejecutar tests en modo headless
npm run cypress:run
Estructura:
cypress/e2e/- Tests end-to-end organizados por funcionalidadcypress/support/- Configuración y comandos personalizados
Tecnologías
- Next.js 15 - Framework de React
- React 19 - Biblioteca de UI
- TypeScript - Tipado estático
- Chakra UI - Biblioteca de componentes
- Jest + Testing Library - Testing unitario
- Cypress - Testing end-to-end
Estructura del Proyecto
frontend-form/
├── app/
│ ├── components/ # Componentes de la UI
│ ├── __tests__/ # Tests del formulario principal
│ └── page.tsx # Componente principal
├── hooks/
│ ├── __tests__/ # Tests de hooks
│ ├── use-questions.ts # Hook para manejar preguntas
│ └── use-recommendation.ts # Hook para recomendaciones
├── cypress/
│ ├── e2e/ # Tests end-to-end
│ ├── support/ # Configuración y comandos de Cypress
│ └── README.md # Documentación de tests E2E
├── types/ # Definiciones de tipos TypeScript
├── jest.config.js # Configuración de Jest
└── cypress.config.ts # Configuración de Cypress