Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
root = true

[*]
charset = utf-8
end_of_line = crlf
insert_final_newline = true
trim_trailing_whitespace = true

[*.{cs,cshtml}]
indent_style = space
indent_size = 4
dotnet_diagnostic.IDE0055.severity = suggestion
csharp_prefer_simple_default_expression = true:suggestion
csharp_style_var_for_built_in_types = true:suggestion
csharp_style_var_when_type_is_apparent = true:suggestion
csharp_style_var_elsewhere = false:none

[*.md]
trim_trailing_whitespace = false
12 changes: 12 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# CODEOWNERS file
# Propietarios por área. Reemplaza o añade GitHub handles reales según corresponda.

# Responsable principal mantiene todo
* @adrianmesasacasas

# Áreas específicas (asignadas temporalmente al responsable principal)
/src/OTManager.Api/ @adrianmesasacasas
/src/OTManager.Web/ @adrianmesasacasas
/src/OTManager.Data/ @adrianmesasacasas

# Nota: para añadir más revisores automáticos, reemplaza los handles anteriores por los nombres reales de los colaboradores o equipos (p. ej. @org/eq-api).
29 changes: 29 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
name: Bug report
about: Reporta un error encontrado en el proyecto
title: "bug: "
labels: bug
assignees: ''
---

**Descripci�n breve**
Una descripci�n clara y concisa del problema.

**Pasos para reproducir**
1.
2.
3.

**Comportamiento esperado**

**Comportamiento observado**

**Datos adicionales**
- Versi�n de .NET: .NET 9
- Sistema operativo:
- Logs:

**Prioridad**
- [ ] baja
- [ ] media
- [ ] alta
23 changes: 23 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
name: Feature request
about: Proponer una nueva funcionalidad
title: "feat: "
labels: enhancement
assignees: ''
---

**Propuesta**
Describe la funcionalidad solicitada y el problema que resuelve.

**Casos de uso**
-

**Propuesta de dise�o**
- Endpoints/API propuestos:
- Cambios en UI:

**Impacto**
- �Es breaking change? (s�/no)
- Compatibilidad hacia atr�s:

**Notas adicionales**
23 changes: 23 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Tipo de cambio
- [ ] feat
- [ ] fix
- [ ] docs
- [ ] style
- [ ] refactor
- [ ] test
- [ ] chore

## Descripci�n
Explica brevemente qu� hace este PR y por qu� es necesario.

## C�mo probar
Instrucciones para reproducir y validar los cambios.

## Checklist
- [ ] El c�digo compila y pasa las pruebas locales
- [ ] Se agregaron/actualizaron pruebas cuando aplica
- [ ] Se actualiz� la documentaci�n si aplica
- [ ] No se a�adieron secretos ni datos sensibles

## Issue relacionada
Closes # (issue)
120 changes: 120 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
CONTRIBUTING
===========

Gracias por tu inter�s en contribuir a OTManager.Wapi. Este documento proporciona las pautas esenciales para colaborar en este proyecto de software libre. Para evitar duplicar informaci�n, las secciones sobre seguridad y conducta se encuentran en SECURITY.md y Code_Of_Conduct.md respectivamente.

1. Resumen
---------
OTManager.Wapi es un proyecto en .NET 9 (API y Blazor) que utiliza Entity Framework Core para persistencia. Intentamos mantener contribuciones claras, probadas y acordes con las reglas de estilo del proyecto.

2. C�digo de conducta
---------------------
Revisa `Code_Of_Conduct.md` para las normas de comportamiento y c�mo reportar incumplimientos.

3. C�mo reportar un bug
-----------------------
- Abre una Issue nueva usando la plantilla "Bug report" (usa 'New issue' -> seleccionar plantilla).
- Incluye pasos para reproducir, comportamiento esperado, comportamiento real, versi�n de .NET (debe ser .NET 9), sistema operativo, y logs relevantes.

4. C�mo proponer una caracter�stica
----------------------------------
- Abre una Issue usando la plantilla "Feature request" describiendo el caso de uso y la soluci�n propuesta.

5. Flujo de trabajo para contribuir (fork & PR)
-----------------------------------------------
1. Haz fork del repositorio y clona tu fork:
```bash
git clone https://github.com/tu-usuario/OTManager.Wapi.git
cd OTManager.Wapi
```
2. Crea una rama para tu trabajo (nombres sugeridos):
- feature/<descripcion>
- fix/<descripcion>
- docs/<descripcion>

```bash
git checkout -b feature/mi-nueva-funcionalidad
```
3. Aseg�rate de que tu rama est� actualizada con la rama principal upstream:
```bash
git remote add upstream https://github.com/organizacion/OTManager.Wapi.git
git fetch upstream
git rebase upstream/main
```
4. Realiza cambios peque�os y con commits at�micos.
5. Ejecuta pruebas y formatea el c�digo (ver secci�n herramientas).
6. Publica tu rama y abre un Pull Request usando la plantilla PR disponible.

6. Requisitos y herramientas para el desarrollo
----------------------------------------------
- .NET 9 SDK instalado
- SQL Server (o proveedor EF Core compatible) para ejecutar migraciones locales
- dotnet-ef (si trabajas con migraciones):
```bash
dotnet tool install --global dotnet-ef
```

7. Ejecutar el proyecto localmente
---------------------------------
- Restaurar dependencias:
```bash
dotnet restore
```
- Aplicar migraciones (si corresponde):
```bash
dotnet ef database update --project src/OTManager.Data/OTManager.Data.csproj --startup-project src/OTManager.Api/OTManager.Api.csproj
```
- Ejecutar la API y la UI:
```bash
dotnet run --project src/OTManager.Api/OTManager.Api.csproj
dotnet run --project src/OTManager.Web/OTManager.Web.csproj
```

8. Estilo de c�digo y linters
----------------------------
- Sigue las reglas de C# y .editorconfig del repositorio (si existe).
- Usa dotnet format para formatear tu c�digo antes de subirlo:
```bash
dotnet tool restore
dotnet format
```

9. Pruebas
----------
- A�ade/actualiza pruebas unitarias para cualquier cambio en la l�gica de negocio.
- Ejecuta todas las pruebas antes de abrir PR:
```bash
dotnet test
```

10. Convenciones de commits
---------------------------
Usa mensajes claros y preferiblemente el est�ndar "Conventional Commits":
- feat: Nueva funcionalidad
- fix: Correcci�n de bug
- docs: Cambios en documentaci�n
- style: Formateo, espacios, punto y coma
- refactor: Refactorizaci�n sin cambiar comportamiento
- test: A�adir/ajustar pruebas
- chore: Cambios en build o herramientas

11. Proceso de Pull Request
---------------------------
- Crea PR contra la rama main (o la rama de desarrollo si el proyecto la usa).
- Usa la plantilla de PR ubicada en `.github/PULL_REQUEST_TEMPLATE.md`.
- Describe qu� hace el cambio, por qu� es necesario y c�mo probarlo.

Checklist sugerida para PRs (ver plantilla):
- [ ] El c�digo compila y pasa las pruebas locales
- [ ] Agregado/actualizado tests
- [ ] Documentaci�n actualizada si aplica
- [ ] Se formate� el c�digo
- [ ] No incluye secretos en el commit

12. Seguridad
-------------
Revisa `SECURITY.md` para el proceso de reporte de vulnerabilidades y pr�cticas de seguridad.

13. Contacto
-----------
Si tienes dudas sobre c�mo contribuir, abre una Issue etiquetada como "help wanted" o contacta a los mantenedores.
38 changes: 38 additions & 0 deletions Code_Of_Conduct.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
C�digo de Conducta (Code of Conduct)
=====================================

Nuestro objetivo es crear un proyecto inclusivo y respetuoso donde todas las personas se sientan bienvenidas y con disposici�n para colaborar.

1. Normas de comportamiento
---------------------------
- Trata a todas las personas con respeto y profesionalismo.
- S� constructivo en la cr�tica: enf�cate en el c�digo y el contenido, no en la persona.
- Evita lenguaje ofensivo, despectivo, discriminatorio o sexualmente expl�cito.
- Respeta la diversidad de or�genes, opiniones, identidades y niveles de experiencia.

2. Alcance
---------
Este c�digo aplica a todos los �mbitos relacionados con el proyecto: Issues, Pull Requests, revisiones de c�digo, discusiones en repositorios, canales de chat vinculados, listas de correo y eventos asociados al proyecto.

3. C�mo reportar un incumplimiento
---------------------------------
Si eres testigo o v�ctima de una conducta que viola este c�digo:
- Abre una Issue privada (si tu plataforma lo permite) etiquetada como `conduct` o `confidential`.
- Alternativamente, contacta a los mantenedores por correo electr�nico (a�ade la direcci�n de contacto en el README o en la secci�n de mantenedores).
- Proporciona informaci�n suficiente: descripci�n del incidente, participantes, fecha/hora, enlaces relevantes y, si es posible, evidencia.

4. Proceso de resoluci�n
------------------------
- Los mantenedores revisar�n el reporte y podr�n solicitar informaci�n adicional.
- En casos claros de violaci�n, se podr� pedir disculpas p�blicas/privadas, remover contenido, suspender permisos de colaboraci�n o expulsar del proyecto.
- Las decisiones se aplicar�n con proporcionalidad y registro interno.

5. Confidencialidad
-------------------
Los reportes y la informaci�n sensible se manejar�n de forma confidencial en la medida de lo posible.

6. Implementaci�n y actualizaci�n
---------------------------------
Este documento puede actualizarse con el tiempo. Los mantenedores publicar�n la fecha de la �ltima revisi�n y la versi�n del documento.

Gracias por contribuir a un entorno seguro y respetuoso.
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
MIT License

Copyright (c) 2024 Adrian Mesa
Copyright (c) 2024 Adrian Mesa Sacasas

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
7 changes: 7 additions & 0 deletions OTManager.Data/Account/ApplicationRole.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
using Microsoft.AspNetCore.Identity;

namespace OTManager.Data.Account;

public class ApplicationRole : IdentityRole<Guid>
{
}
8 changes: 8 additions & 0 deletions OTManager.Data/Account/ApplicationUser.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
using Microsoft.AspNetCore.Identity;

namespace OTManager.Data.Account;

public class ApplicationUser : IdentityUser<Guid>
{

}
4 changes: 1 addition & 3 deletions OTManager.Data/Audites/Audited.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.ChangeTracking;
using OTManager.Core.Entities.Abstracts;
using System;

namespace OTManager.Data.Audites;

Expand Down Expand Up @@ -51,4 +49,4 @@ public static void AplicarAuditoria(ChangeTracker changeTracker, string userName
}
}

public interface IAuditableEntity<TKey> {}
public interface IAuditableEntity<TKey> { }
1 change: 1 addition & 0 deletions OTManager.Data/Configs/ClientConfig.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;

using OTManager.Core.Entities.OT;

namespace OTManager.Data.Configs;
Expand Down
1 change: 1 addition & 0 deletions OTManager.Data/Configs/FactureConfig.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;

using OTManager.Core.Entities.OT;

namespace OTManager.Data.Configs;
Expand Down
1 change: 1 addition & 0 deletions OTManager.Data/Configs/MaterialConfig.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;

using OTManager.Core.Entities.OT;

namespace OTManager.Data.Configs;
Expand Down
1 change: 1 addition & 0 deletions OTManager.Data/Configs/MaterialCostConfig.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;

using OTManager.Core.Entities.OT;

namespace OTManager.Data.Configs;
Expand Down
2 changes: 1 addition & 1 deletion OTManager.Data/Configs/WorkerConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,6 @@ public void Configure(EntityTypeBuilder<Worker> builder)
builder.HasIndex(s => s.Name);
builder.HasIndex(s => s.CreatedAt);

builder.Property(s => s.HourlyRate).HasColumnType("decimal(2,4)").HasDefaultValue(0.00);
builder.Property(s => s.HourlyRate).HasColumnType("decimal(2,2)").HasDefaultValue(0.00);
}
}
6 changes: 3 additions & 3 deletions OTManager.Data/Configs/WorkerCostConfig.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ public void Configure(EntityTypeBuilder<WorkerCost> builder)
builder.HasIndex(s => s.Name);
builder.HasIndex(s => s.CreatedAt);

builder.Property(s => s.HourlyRate).HasColumnType("decimal(2,4)").HasDefaultValue(0.00);
builder.Property(s => s.HoursWorked).HasColumnType("decimal(2,4)").HasDefaultValue(0.00);
builder.Property(s => s.TotalCost).HasColumnType("decimal(2,4)").HasDefaultValue(0.00);
builder.Property(s => s.HourlyRate).HasColumnType("decimal(2,2)").HasDefaultValue(0.00);
builder.Property(s => s.HoursWorked).HasColumnType("decimal(2,2)").HasDefaultValue(0.00);
builder.Property(s => s.TotalCost).HasColumnType("decimal(2,2)").HasDefaultValue(0.00);
}
}
Loading