Convenciones de nombres — GekkoCheckin
Frontend (Angular/Ionic)
- Componentes: kebab-case en selector, PascalCase en clase. Ej:
pin-modal.component.ts→PinModalComponent, selectorapp-pin-modal. - Servicios: kebab-case en archivo, PascalCase + sufijo
Service. Ej:auth.service.ts→AuthService. - Páginas: sufijo
Page. Ej:dashboard.page.ts,time-control.page.ts. - Rutas: kebab-case en path. Ej:
time-control,review-pending. - Clases CSS/SCSS: kebab-case, prefijo semántico por vista. Ej:
.checkin-dashboard,.employee-list-modal,.config-btn-primary.
Backend (Rust)
- Módulos y archivos: snake_case. Ej:
time_control_handler.rs,shift_assignment_repo.rs. - Handlers: sufijo
_handler. Ej:auth_handler,places_handler. - Repos: sufijo
_repo. Ej:staff_repo,time_control_repo. - Tipos y structs: PascalCase. Ej:
ClockInRequest,AppError. - Funciones: snake_case. Ej:
clock_in,resolve_actor_session.
Data-testid (frontend)
Formato: gk-<componente>-<elemento>-<variante>.
- Ejemplos:
gk-pin-modal-input,gk-dashboard-place-card,gk-time-control-clock-in-btn.