Skip to content

Commit e0e5e86

Browse files
🎉 Initial commit: Hospital Patient Management System
✨ Features: - Complete CRUD operations for patient management - Professional sidebar navigation with responsive design - MSW (Mock Service Worker) for API simulation - Centralized API service layer - 100% responsive design (mobile, tablet, desktop) 🛠️ Tech Stack: - React 19 with Vite 7.2.2 - React Router DOM 7.9.6 - Tailwind CSS 3.4.0 - Mock Service Worker 📚 Documentation: - Professional README with technology badges - MIT License - Contributing guidelines - Changelog and Security policy - GitHub Actions for automatic deployment
0 parents  commit e0e5e86

38 files changed

+8075
-0
lines changed

.editorconfig

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# EditorConfig helps maintain consistent coding styles
2+
# https://editorconfig.org
3+
4+
root = true
5+
6+
[*]
7+
charset = utf-8
8+
end_of_line = lf
9+
indent_style = space
10+
indent_size = 2
11+
insert_final_newline = true
12+
trim_trailing_whitespace = true
13+
14+
[*.md]
15+
max_line_length = off
16+
trim_trailing_whitespace = false
17+
18+
[*.{json,yml,yaml}]
19+
indent_size = 2
20+
21+
[*.{js,jsx,ts,tsx}]
22+
indent_size = 2
23+
quote_type = single
24+
25+
[package.json]
26+
indent_size = 2

.github/CONTRIBUTING.md

Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
# Guía de Contribución
2+
3+
¡Gracias por tu interés en contribuir al Sistema de Gestión de Pacientes! 🎉
4+
5+
## Código de Conducta
6+
7+
Este proyecto se adhiere a un código de conducta. Al participar, se espera que mantengas un ambiente respetuoso y profesional.
8+
9+
## ¿Cómo Contribuir?
10+
11+
### 🐛 Reportar Bugs
12+
13+
Si encuentras un bug, por favor abre un issue con:
14+
- Descripción clara del problema
15+
- Pasos para reproducirlo
16+
- Comportamiento esperado vs. actual
17+
- Screenshots si es posible
18+
- Información del navegador y sistema operativo
19+
20+
### 💡 Sugerir Mejoras
21+
22+
Para sugerir nuevas características:
23+
1. Verifica que no exista un issue similar
24+
2. Abre un nuevo issue con la etiqueta "enhancement"
25+
3. Describe claramente la funcionalidad propuesta
26+
4. Explica por qué sería útil
27+
28+
### 🔧 Pull Requests
29+
30+
1. **Fork** el repositorio
31+
2. **Crea una rama** desde `main`:
32+
```bash
33+
git checkout -b feature/mi-nueva-caracteristica
34+
```
35+
3. **Haz tus cambios** siguiendo las guías de estilo
36+
4. **Commit** tus cambios:
37+
```bash
38+
git commit -m 'Add: descripción clara del cambio'
39+
```
40+
5. **Push** a tu fork:
41+
```bash
42+
git push origin feature/mi-nueva-caracteristica
43+
```
44+
6. **Abre un Pull Request** desde tu rama hacia `main`
45+
46+
## Guías de Estilo
47+
48+
### Código JavaScript/React
49+
50+
- Usa **ES6+** syntax
51+
- Nombres de componentes en **PascalCase**
52+
- Nombres de archivos coinciden con el componente: `MyComponent.jsx`
53+
- Usa **arrow functions** para componentes funcionales
54+
- Props destructuring en la firma de la función
55+
- Hooks al inicio del componente
56+
57+
### Commits
58+
59+
Sigue el formato:
60+
```
61+
Tipo: Descripción breve
62+
63+
Descripción detallada (opcional)
64+
```
65+
66+
Tipos válidos:
67+
- `Add`: Nueva funcionalidad
68+
- `Fix`: Corrección de bug
69+
- `Update`: Actualización de código existente
70+
- `Refactor`: Refactorización de código
71+
- `Style`: Cambios de formato/estilo
72+
- `Docs`: Cambios en documentación
73+
- `Test`: Añadir o modificar tests
74+
75+
### Tailwind CSS
76+
77+
- Usa clases de Tailwind en lugar de CSS custom
78+
- Agrupa clases relacionadas: `flex items-center justify-between`
79+
- Usa las variables de color del tema: `text-primary`, `bg-secondary`
80+
- Responsive classes: móvil primero, luego breakpoints `sm:`, `md:`, `lg:`
81+
82+
## Estructura de Branches
83+
84+
- `main` - Producción, siempre estable
85+
- `develop` - Desarrollo activo
86+
- `feature/*` - Nuevas características
87+
- `fix/*` - Correcciones de bugs
88+
- `hotfix/*` - Fixes urgentes en producción
89+
90+
## Testing
91+
92+
Antes de enviar un PR:
93+
1. Verifica que la app corra sin errores: `npm run dev`
94+
2. Verifica que el build funcione: `npm run build`
95+
3. Revisa la consola del navegador (no debe haber errores)
96+
4. Prueba en diferentes tamaños de pantalla
97+
98+
## Proceso de Review
99+
100+
1. Un maintainer revisará tu PR
101+
2. Pueden solicitar cambios
102+
3. Una vez aprobado, se hará merge a `main`
103+
4. Tu contribución será acreditada en el proyecto
104+
105+
## Preguntas
106+
107+
Si tienes dudas, puedes:
108+
- Abrir un issue con la etiqueta "question"
109+
- Contactar a [email protected]
110+
111+
---
112+
113+
¡Gracias por contribuir! 🚀

.github/screenshots/.gitkeep

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Esta carpeta contiene las capturas de pantalla del proyecto

.github/screenshots/README.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# 📸 Screenshots
2+
3+
Esta carpeta contiene las capturas de pantalla utilizadas en la documentación del proyecto.
4+
5+
## 📋 Lista de Capturas Requeridas
6+
7+
### Desktop Views (1920x1080 recomendado)
8+
- [x] `desktop-dashboard.png` - Dashboard principal con estadísticas
9+
- [x] `desktop-patient-list.png` - Lista de pacientes en grid
10+
- [x] `desktop-patient-detail.png` - Vista detallada de un paciente
11+
- [x] `desktop-edit-form.png` - Formulario de crear/editar
12+
13+
### Mobile Views (375x812 recomendado - iPhone X)
14+
- [x] `mobile-menu.png` - Menú hamburguesa abierto
15+
- [x] `mobile-dashboard.png` - Dashboard en vista móvil
16+
17+
### Optional
18+
- [ ] `tablet-responsive.png` - Vista en tablet (768x1024)
19+
20+
## 🎨 Recomendaciones
21+
22+
### Resolución y Formato
23+
- **Desktop**: 1920x1080px o 1440x900px
24+
- **Mobile**: 375x812px (iPhone X/11) o 390x844px (iPhone 12/13)
25+
- **Formato**: PNG con compresión optimizada
26+
- **Peso máximo**: 500KB por imagen
27+
28+
### Captura Professional
29+
1. **Limpia el navegador**: Oculta extensiones y bookmarks
30+
2. **Usa modo incógnito**: Para una barra limpia
31+
3. **Zoom 100%**: Asegura proporciones correctas
32+
4. **Datos realistas**: Usa los pacientes de ejemplo incluidos
33+
5. **Scroll a 0**: Captura desde el inicio de la página
34+
35+
### Herramientas Recomendadas
36+
- **macOS**: Cmd + Shift + 4 (nativo)
37+
- **Windows**: Snipping Tool o Win + Shift + S
38+
- **Extensiones Chrome**:
39+
- [Awesome Screenshot](https://chrome.google.com/webstore/detail/awesome-screenshot)
40+
- [FireShot](https://chrome.google.com/webstore/detail/fireshot)
41+
42+
### Optimización
43+
- Usa [TinyPNG](https://tinypng.com/) para comprimir
44+
- O ejecuta: `npm install -g imagemin-cli && imagemin *.png --out-dir=optimized`
45+
46+
## 🚀 Testing de Screenshots
47+
48+
Después de añadir las imágenes, verifica:
49+
```bash
50+
# Verifica que todas las imágenes existan
51+
ls -la *.png
52+
53+
# Verifica el tamaño de las imágenes
54+
du -h *.png
55+
```
56+
57+
---
58+
59+
**Nota**: Las imágenes deben mostrar el estado real y funcional de la aplicación para generar confianza en potenciales usuarios o empleadores.
1.35 MB
Loading
1.09 MB
Loading
1.3 MB
Loading
1.85 MB
Loading
378 KB
Loading
271 KB
Loading

0 commit comments

Comments
 (0)