Este proyecto es un sistema de autenticación construido con Node.js y TypeScript, utilizando bcrypt para el hash de contraseñas, MongoDB como base de datos y Mongoose como ORM. El diseño del proyecto sigue los principios de la arquitectura limpia.
El proyecto se divide en varias capas, cada una con su propia responsabilidad:
- Entity: Define las entidades de negocio.
- DTOs (Data Transfer Objects): Objetos que se utilizan para transferir datos entre procesos o capas.
- Use Cases: Define los casos de uso del sistema.
- Presentation: Se encarga de la presentación de los datos al usuario.
- Domain: Contiene la lógica de negocio.
Además, se utiliza JWT para la gestión de sesiones y se sigue el principio de inyección de dependencias.
- Clona el repositorio.
- Instala las dependencias con
npm install
. - Configura tu archivo
.env
con tus variables de entorno. - Inicia el servidor con
npm start
.
Para ejecutar las pruebas, utiliza el comando npm test
.
Si deseas contribuir al proyecto, por favor lee nuestras Guías de Contribución.
Este proyecto está licenciado bajo la licencia MIT. Para más detalles, por favor lee el archivo LICENSE.