TorogozAuth
Project manager: Juan Carlos Vasquez Desarrollador: Juan Carlos Vasquez Discord: charlesdev Farcaster: @charlesdev Diseñadora: Paula Martinez Discord: sameskida
Colaboradores:
Claudia Garcias Dos De Santos Discord: claugarciadossantos
Maximiliano Ramos Discord: indominusfortune
MISIÓN Empoderar a estudiantes, instituciones y empleadores mediante la emisión de credenciales académicas digitales seguras, verificables y accesibles, utilizando la tecnología blockchain para garantizar autenticidad, transparencia y confianza global VISIÓN Ser la plataforma líder en credenciales académicas digitales en América Latina, estableciendo un estándar global para la certificación y validación de logros educativos, impulsando la transformación digital en el
sector educativo y laboral.
Descripción del Proyecto:
- Resumen del proyecto
Torogoz-Auth es un sistema de autenticación diseñado para aplicaciones modernas que requieren seguridad avanzada y escalabilidad. Su principal propósito es ofrecer una solución híbrida que permita a los desarrolladores implementar autenticación tanto en sistemas tradicionales como en aplicaciones descentralizadas (dApps) basadas en blockchain.
Funcionalidades principales:
Autenticación segura para usuarios mediante credenciales tradicionales.
Integración directa con tecnologías blockchain para soportar wallets y otros métodos descentralizados.
Compatibilidad con aplicaciones convencionales y descentralizadas, proporcionando una solución versátil para diversos casos de uso.
- Estructura del proyecto
El diseño de Torogoz-Auth sigue una arquitectura modular, donde cada componente se encuentra separado en directorios específicos según su función. Esto facilita la escalabilidad y el mantenimiento del sistema.
Arquitectura utilizada:
Patrones de diseño: Modularización y separación de responsabilidades (Separation of Concerns).
Framework: Se utiliza Next.js como backend para la gestión de dependencias.
Estructura principal:
Torogoz-Auth/
├── src/
│ ├── app/ # Authentication logic
│ ├── (landingpages)/ # Implements the main pages of the application
│ ├── dashboard/ # Manages the configuration of variables, services and customized display
│ └── utils/ # Shared utilities
├── tests/ # Unit and integration tests
├── .env.example # Example environment variables
├── package.json # Dependencies and scripts
└── README.md # Project documentation
- Tecnologías empleadas
Lenguajes y herramientas principales:
Next.js: Usado como base para el backend, aprovechando su escalabilidad y ecosistema de bibliotecas.
Axios: Utilizado para gestionar rutas HTTP.
Privy: Es una plataforma que simplifica la integración de datos privados y autenticación de usuarios en aplicaciones Web3. Proporciona herramientas y APIs para gestionar datos sensibles de forma segura, sin comprometer la privacidad ni almacenar datos directamente en la blockchain.
Blockchain (Ethers.js): Para integrar métodos de autenticación y wallets descentralizados.
Piñata Cloud: es un servicio que facilita la gestión y el almacenamiento de datos en IPFS (InterPlanetary File System), un sistema de almacenamiento descentralizado que permite guardar y acceder a archivos de manera distribuida y segura.
dotenv: Gestión de variables de entorno para asegurar la portabilidad del sistema.
Cómo contribuyen:
Node.js: Garantiza un entorno de ejecución rápido y eficiente para las operaciones del backend.
Blockchain libraries: Permiten conectar wallets como MetaMask y manejar autenticación basada en firmas.
dotenv: Asegura que los secretos y configuraciones sensibles no sean hardcodeados en el código fuente.
- Flujo de desarrollo
El desarrollo del proyecto sigue prácticas Agile, permitiendo iteraciones rápidas y mejoras continuas.
Estrategias utilizadas:
Uso de sistemas de control de versiones como Git y GitHub para la colaboración.
Modularización del código para facilitar la integración y el trabajo paralelo en componentes independientes.
- Implementación técnica
Características clave:
- Autenticación tradicional:
Registro y autenticación mediante credenciales almacenadas de forma segura.
Uso de hashing para proteger contraseñas (por ejemplo, bcrypt).
- Autenticación blockchain:
Soporte para wallets descentralizados mediante métodos como firma digital de mensajes.
Verificación de la autenticidad mediante bibliotecas como Ethers.js.
Innovaciones técnicas:
Integración híbrida para soportar aplicaciones tradicionales y descentralizadas.
Separación lógica que permite extender el sistema con nuevos métodos de autenticación sin modificar la base existente.
- Despliegue y pruebas
Despliegue:
Entorno local para desarrollo: configuración a través de un archivo .env.
Uso de npm start para iniciar el servidor, alojado en un entorno vercel.
Pruebas:
Pruebas unitarias en el directorio tests/.
- Referencias
Repositorio en GitHub
Documentación sobre integración blockchain
Buenas prácticas para autenticación segura.
Built With
- blockchain
- cloud
- javascriptethereum
- next.js
- pinata
- solidity
- typescript
- web3




Log in or sign up for Devpost to join the conversation.