{"id":51678860,"url":"https://github.com/shm04/populus-patria-lms","last_synced_at":"2026-07-15T10:33:11.333Z","repository":{"id":352078195,"uuid":"1213763148","full_name":"shm04/populus-patria-lms","owner":"shm04","description":"Enterprise EdTech ecosystem and credit-based virtual economy for global language learning, featuring a self-healing scheduling engine.","archived":false,"fork":false,"pushed_at":"2026-04-17T19:27:49.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main-branch","last_synced_at":"2026-04-17T20:32:18.209Z","etag":null,"topics":["architecture","edtech","marketplace","nodejs","postgresql","react","stripe-api"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shm04.png","metadata":{"files":{"readme":"README-es.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-17T18:28:28.000Z","updated_at":"2026-04-17T19:27:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/shm04/populus-patria-lms","commit_stats":null,"previous_names":["shm04/populus-patria-lms"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/shm04/populus-patria-lms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shm04%2Fpopulus-patria-lms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shm04%2Fpopulus-patria-lms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shm04%2Fpopulus-patria-lms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shm04%2Fpopulus-patria-lms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shm04","download_url":"https://codeload.github.com/shm04/populus-patria-lms/tar.gz/refs/heads/main-branch","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shm04%2Fpopulus-patria-lms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35501664,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-15T02:00:06.706Z","response_time":131,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["architecture","edtech","marketplace","nodejs","postgresql","react","stripe-api"],"created_at":"2026-07-15T10:33:10.555Z","updated_at":"2026-07-15T10:33:11.327Z","avatar_url":"https://github.com/shm04.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Populus Patria — Ecosistema EdTech\n\n\u003e **Categoría:** SaaS Empresarial / Marketplace Basado en Créditos  \n\u003e **Cliente:** Populus Patria / Elevate Agency  \n\u003e **Lead Architect:** Sebastian Hernandez ([Elevate Agency](https://your-elevate-link.com))  \n\u003e **Estado del Proyecto:** En Producción (v2.0)\n\n---\n\n## 🌎 Idiomas\nLeer en [Inglés](./README.md)\n\n---\n\n# 📗 Tabla de Contenidos\n- [📖 Acerca del Proyecto](#acerca-del-proyecto)\n- [🚀 Características Clave y Economía Virtual](#caracteristicas-clave)\n- [🏗️ Diseño Arquitectónico](#diseno-arquitectonico)\n- [💻 Stack Tecnológico](#stack-tecnologico)\n- [🧗 Profundidad Técnica: Sincronización Chronos \u0026 Ghost](#profundidad-tecnica)\n- [🔒 Seguridad y Cumplimiento](#seguridad)\n- [🔒 Política de Acceso al Código](#acceso-codigo)\n- [👥 Autores](#autores)\n- [📝 Licencia](#licencia)\n\n---\n\n## 📖 Acerca del Proyecto \u003ca name=\"acerca-del-proyecto\"\u003e\u003c/a\u003e\nLas escuelas de idiomas tradicionales luchan con la \"Fragmentación de Herramientas\": dependen de sistemas desconectados para pagos, programación, comunicación y aulas virtuales. \n\nPopulus Patria resuelve esto proporcionando una Economía de Idiomas de grado empresarial unificada. Consolida todo el ciclo de vida del estudiante en un panel de alto rendimiento, eliminando los silos de datos y la fricción administrativa.\n\n**Enlaces Clave:**\n* [Live Demo / Sitio Web](https://app.populuspatria.com/) \n* [Recorrido de la Plataforma (Loom)](#)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evolver arriba\u003c/a\u003e)\u003c/p\u003e\n\n## 🚀 Características Clave y Economía Virtual \u003ca name=\"caracteristicas-clave\"\u003e\u003c/a\u003e\n* **Ciclo Automatizado \"Meet-to-Archive\":** Un pipeline sofisticado que genera enlaces de Google Meet al reservar, detecta sesiones finalizadas vía Node-cron, extrae las grabaciones y las asigna automáticamente a los estudiantes correctos.\n* **Grabaciones \"Shadow\" Inteligentes:** Sistema de control de acceso que asegura que los estudiantes solo vean grabaciones de clases ocurridas *después* de su fecha de inscripción, protegiendo la propiedad intelectual histórica.\n* **Motor de Comunidad Híbrido:** Integración profunda con Rocket.Chat mediante SSO. Actúa como capa social y evita la fuga de negocio bloqueando el intercambio no autorizado de datos personales.\n* **Sistema de Billetera Multimodal:** Economía virtual que soporta Stripe para transacciones globales en cinco modalidades distintas: CPP (Personalizado), CGG (Grupo General), CGP (Grupo Privado) y CCC (Club de Conversación).\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evolver arriba\u003c/a\u003e)\u003c/p\u003e\n\n## 🏗️ Diseño Arquitectónico \u003ca name=\"diseno-arquitectonico\"\u003e\u003c/a\u003e\nConstruido utilizando un enfoque de **Diseño Basado en Dominio (DDD)** combinado con una Arquitectura de Capas para asegurar una alta mantenibilidad.\n\n* **Módulos de Dominio:** El sistema se divide en dominios independientes que incluyen Auth, Pagos, Aulas y Comunidad.\n* **Controladores:** Manejan estrictamente la lógica HTTP y el enrutamiento.\n* **Servicios:** Encapsulan la lógica de negocio y las reglas de la economía virtual.\n* **Repositorios:** Abstrae la capa de persistencia Serverless de PostgreSQL.\n* **Motor de Auto-Recuperación (Auto-Healing):** Capa en segundo plano diseñada para resolver inconsistencias de datos mapeando IDs únicos en lugar de cadenas de texto volátiles.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evolver arriba\u003c/a\u003e)\u003c/p\u003e\n\n## 💻 Stack Tecnológico \u003ca name=\"stack-tecnologico\"\u003e\u003c/a\u003e\n* **Frontend:** React 19, Vite, Tailwind CSS 4, Framer Motion, React Router v7.\n* **Backend:** Node.js, Express v5.0, `node-cron`.\n* **Base de Datos:** PostgreSQL (Alojada en Neon para escalabilidad Serverless).\n* **Infraestructura:** Railway (App en producción y alojamiento de Rocket.Chat).\n* **APIs e Integraciones:** Stripe, API de Google Meet, API de Rocket.Chat, Nodemailer.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evolver arriba\u003c/a\u003e)\u003c/p\u003e\n\n## 🧗 Profundidad Técnica: Sincronización Chronos \u0026 Ghost \u003ca name=\"profundidad-tecnica\"\u003e\u003c/a\u003e\nLa hazaña de ingeniería más compleja de esta plataforma fue resolver la **Hidratación de Sesiones** (El problema de Sincronización Ghost). \n\nCuando los nombres de las clases cambiaban en la base de datos, los scripts de grabación automatizada \"perdían\" la conexión con los archivos de video. \n\n**La Solución de Ingeniería:** Construí un Motor de Mapeo de Auto-Recuperación (Self-Healing) que utiliza el código único de Google Meet como la \"Fuente de Verdad\" absoluta. Esto reconecta las sesiones huérfanas al `class_id` correcto, asegurando que la automatización nunca se rompa, sin importar los errores administrativos humanos.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evolver arriba\u003c/a\u003e)\u003c/p\u003e\n\n## 🔒 Seguridad y Cumplimiento \u003ca name=\"seguridad\"\u003e\u003c/a\u003e\n* **Escudo de Comunicaciones:** Filtrado RegEx en tiempo real en la capa de comunidad para prevenir la \"Fuga de Negocio\", bloqueando números de teléfono y palabras clave de pagos externos.\n* **Integridad de Transacciones:** Implementación de transacciones SQL atómicas para la Billetera, asegurando que ningún estudiante pueda gastar créditos dos veces o reservar sin saldo válido.\n* **Autenticación Stateless:** Implementación segura de JWT que garantiza sesiones protegidas incluso en entornos escalados horizontalmente.\n* **Cumplimiento Normativo:** Privacidad y arquitectura de datos alineadas con la LFPDPPP (México) y los principios generales del GDPR.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evolver arriba\u003c/a\u003e)\u003c/p\u003e\n\n## 🔒 Política de Acceso al Código \u003ca name=\"acceso-codigo\"\u003e\u003c/a\u003e\nEl código fuente de este proyecto es **Propiedad Privada**. Contiene lógica de negocio confidencial relacionada con pasarelas de pago, filtrado de comunidad y el sistema de créditos.\n\nEstoy disponible para un **Recorrido Técnico en Vivo (Deep-Dive)** a través de una pantalla compartida para demostrar el Motor de Auto-Recuperación, las transacciones de PostgreSQL y la arquitectura de backend.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evolver arriba\u003c/a\u003e)\u003c/p\u003e\n\n## 👥 Autores \u003ca name=\"autores\"\u003e\u003c/a\u003e\n\n👤 **Sebastian Hernandez**\n* **Rol:** Lead Full-Stack Engineer / Arquitecto\n* **Agencia:** [Elevate Agency](https://your-elevate-link.com)\n* **LinkedIn:** [Sebastian Hernandez](https://www.linkedin.com/in/sebastian-hernandez-munoz/)\n* **GitHub:** [@your-github](https://github.com/shm04)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evolver arriba\u003c/a\u003e)\u003c/p\u003e\n\n## 📝 Licencia \u003ca name=\"licencia\"\u003e\u003c/a\u003e\nEste proyecto es de **Propiedad Privada y Código Cerrado**. Todos los derechos reservados.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003evolver arriba\u003c/a\u003e)\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshm04%2Fpopulus-patria-lms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshm04%2Fpopulus-patria-lms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshm04%2Fpopulus-patria-lms/lists"}