⚠️ ATENCIÓN: Este repositorio ya no recibe mantenimiento y ha sido archivado. Todo el desarrollo de HydraFlow (tanto el Backend como la App móvil) se ha unificado y movido a un nuevo monorepo.👉 Descubre el código actualizado, aporta y abre issues en el nuevo repositorio principal:
El motor detrás de tu hidratación diaria. Una API robusta y de código abierto para el registro de agua y gamificación.
Este proyecto contiene el Backend de Hydraflow. Se encarga de gestionar la lógica de negocio, la base de datos, la autenticación de usuarios, el registro de consumo de agua y el sistema de logros (gamificación).
👉 Actualmente el código forma parte del monorepo principal: JBDev23/hydraflow.
Si quieres probar la aplicación antes que nadie y ayudarnos a testear su estabilidad, ¡puedes solicitar tu acceso a la beta privada!
Para unirte, envía un correo electrónico a: 📬 jordibarrachinam@gmail.com
Te agradecemos que indiques en el asunto "Solicitud Beta Hydraflow" para que podamos procesar tu petición lo más rápido posible.
- 🔒 Autenticación Segura: Login social con Google (verificación de ID token) + JWT. Login de prueba disponible fuera de producción.
- 🚰 Registro de Agua: Endpoints para añadir, editar y consultar el historial de hidratación diario.
- 🏆 Sistema de Gamificación: Logros, experiencia y recompensas al cumplir metas de hidratación.
- 🛍️ Gestión de Ítems: Inventario y recompensas para personalizar la mascota.
- 🧪 Cobertura de Pruebas: Tests con Jest y Supertest.
- Entorno & Lenguaje: Node.js 22+, TypeScript, Express
- Base de Datos & ORM: PostgreSQL, Prisma 7 (
@prisma/adapter-pg) - Auth:
google-auth-library, JWT - Testing: Jest, Supertest
- Despliegue & Contenedores: Docker, Docker Compose
- Gestor de paquetes: pnpm
La estructura de modules/ está preparada para una migración futura a Nest (ver NEST_MIGRATION.md).
src/modules/: Lógica de dominio (auth, water, achievements, items, user).src/controllers/: Adaptadores HTTP delgados sobre los modules.src/routes/: Definición de los endpoints de la API.src/middleware/: Middlewares de Express (auth, rate limit, etc.).src/prisma/: Cliente Prisma yPrismaService.src/lib/: Utilidades compartidas (JWT, gamificación, preferencias, rangos de día).src/tests/: Pruebas de integración (Jest).prisma/: Esquema, migraciones y seed.
¡El proyecto es de código abierto y nos encanta recibir ayuda! Sin embargo, todo el desarrollo activo ocurre en el monorepo.
- Ve al nuevo repositorio: JBDev23/hydraflow.
- Haz un Fork de ese proyecto.
- Crea tu rama (
git checkout -b feature/NuevaRuta). - Haz Commit de tus cambios y abre tu Pull Request allí.
(Por favor, no abras Pull Requests en este repositorio archivado, ya que no serán revisados).
Si estás trabajando desde el nuevo monorepo, puedes ejecutar los checks locales para el backend. Usa las variables de .env.example (Postgres local con Docker; no uses .env.production ni credenciales de Neon):
cd hydraflow-backend
docker compose up -d
pnpm install
pnpm prisma:migrate:deploy # en desarrollo puedes usar prisma:migrate
pnpm format:check && pnpm lint && pnpm build && pnpm testEste proyecto es de Código Abierto. Consulta el archivo LICENSE en el monorepo principal para más detalles.
