Skip to content

ultramanSam/la-tanda-web

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

202 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

La Tanda — Cooperativa de Ahorro Digital

Live Version API Security Chain License

Plataforma fintech de ahorro cooperativo (tandas/ROSCAs) para comunidades en Honduras.

La Tanda digitaliza las tandas tradicionales — grupos de ahorro rotativo donde cada miembro contribuye periodicamente y recibe el fondo completo en su turno. La plataforma agrega gestion automatizada, billetera digital, marketplace comunitario, red social, y prediccion de loteria.

latanda.online — En produccion con usuarios reales.


Que es una Tanda?

Una tanda (ROSCA — Rotating Savings and Credit Association) es un sistema de ahorro comunitario tradicional en Latinoamerica. Un grupo de personas acuerda contribuir una cantidad fija de dinero periodicamente. En cada ronda, un miembro recibe el fondo completo. Es banca sin banco — confianza comunitaria como infraestructura financiera.

La Tanda lleva este concepto a una plataforma digital con:

  • Turnos automatizados y sorteo justo (tombola)
  • Billetera con control de contribuciones y retiros
  • Pagos verificados con comprobantes y OCR
  • Penalizaciones y periodos de gracia configurables
  • Historial transparente para todos los miembros

Funcionalidades

Cooperativa de Ahorro

  • Grupos y Tandas — Crear, administrar, unirse. Sorteo de turnos, ciclos automaticos, contribuciones rastreadas
  • Billetera Digital — Balance en Lempiras (HNL), contribuciones, retiros a cuenta bancaria, historial de transacciones
  • Marketplace — Compra/venta de productos y servicios entre miembros de la comunidad
  • Red Social — Feed con posts, media, GIFs, encuestas, ubicacion, modo incognito, mentions, hashtags
  • MIA — Asistente IA (Groq Llama 3.3 70B) integrado en la plataforma
  • Predictor de Loteria — Analisis de frecuencia y cadenas de Markov para La Diaria de Honduras
  • Mineria de Tokens — Gana LTD por actividad diaria en la plataforma
  • KYC — Verificacion de identidad con upload de documentos

Seguridad (20+ rondas de auditoria)

  • JWT con rotacion de refresh tokens y blacklisting
  • Zero SELECT *, RETURNING *, Math.random(), body.user_id IDOR en todo el codebase
  • Rate limiting por zona (auth 5/min, API 5/s, general 10/s), CSP, SRI en CDN scripts
  • bcrypt 12 rounds, crypto.timingSafeEqual para comparaciones sensibles
  • WebSocket con autenticacion JWT y heartbeat
  • API solo accesible via Nginx (127.0.0.1:3002)
  • Usuario de DB dedicado latanda_app (DML-only, sin superuser)
  • Transacciones con SELECT FOR UPDATE en operaciones financieras

Stack Tecnico

Capa Tecnologia
Frontend Vanilla JS, HTML5, CSS3 (Glassmorphism), PWA con Service Worker (Workbox)
Backend Node.js (native http), 220+ endpoints REST
Base de Datos PostgreSQL 16 (40+ tablas, usuario latanda_app DML-only)
Cache/Sessions Redis (rate limiting, token blacklist)
Proceso PM2 cluster mode (2 instancias, max 384MB heap)
Proxy Nginx (SSL, gzip_static, WebSocket proxy, security headers)
IA Groq Llama 3.3 70B (asistente MIA)
Blockchain La Tanda Chain (Cosmos SDK / CometBFT), Polygon Amoy testnet (LTD ERC20)

Arquitectura

                    ┌─────────────┐
                    │   Browser   │
                    │  (PWA/SW)   │
                    └──────┬──────┘
                           │ HTTPS
                    ┌──────┴──────┐
                    │    Nginx    │
                    │  SSL/gzip   │
                    │ rate limits │
                    └──┬───┬───┬──┘
                       │   │   │
              ┌────────┘   │   └────────┐
              ▼            ▼            ▼
        ┌──────────┐ ┌──────────┐ ┌──────────┐
        │  Static  │ │ API x2   │ │ WebSocket│
        │  Files   │ │ (PM2)    │ │ Lottery  │
        │ /main/   │ │ :3002    │ │ :3002/ws │
        └──────────┘ └────┬─────┘ └──────────┘
                          │
                ┌─────────┼─────────┬─────────┐
                ▼         ▼         ▼         ▼
          ┌──────────┐ ┌─────┐ ┌──────┐ ┌─────────┐
          │PostgreSQL│ │Redis│ │ Groq │ │La Tanda │
          │  16      │ │     │ │ LLM  │ │ Chain   │
          └──────────┘ └─────┘ └──────┘ └─────────┘

Smart Contracts

Desplegados en Polygon Amoy Testnet (Octubre 2025).

Contrato Address Funcion
LTDToken V2.0 0x863321...d9cFc ERC20, 1B supply, vesting, governance
RoyalOwnershipVesting 0x7F21EC...082F 4-year linear vesting, 1-year cliff, 2% monthly limit
FutureReserve 0xF136C7...0bA2 DAO governance, 7-day timelock

Distribucion de tokens: Participation 20% | Staking & Governance 30% | Development 25% | Liquidity 10% | Vesting 10% | DAO Reserve 5%

Los tokens LTD estan en testnet. Seran intercambiables 1:1 por mainnet LTD al lanzamiento.


API

220+ endpoints organizados en modulos:

Modulo Endpoints Descripcion
Auth /api/auth/* Login, registro, refresh, 2FA, verificacion
Groups /api/groups/* CRUD grupos, miembros, contribuciones, sorteo
Tandas /api/tandas/* Ciclos, turnos, pagos, coordinador
Wallet /api/wallet/* Balance, transacciones, retiros, depositos
Marketplace /api/marketplace/* Productos, servicios, tiendas, reservas, disputas, suscripciones
Social Feed /api/feed/social/* Posts, likes, comments, follow, trending, bookmarks, view tracking
Admin /api/admin/* Dashboard, usuarios, auditoria, compliance
Lottery /api/lottery/* Predicciones, scraping, estadisticas, WebSocket en vivo
MIA /api/mia/* Chat con asistente IA
Uploads /api/upload/* Imagenes, videos, comprobantes

Documentacion interactiva: latanda.online/docs (Swagger UI) Portal de desarrolladores: latanda.online/dev-dashboard.html (sandbox, WebSocket, SDK, chain)


Desarrollo Local

# Clonar
git clone https://github.com/INDIGOAZUL/la-tanda-web.git
cd la-tanda-web

# Frontend (archivos estaticos)
# Abrir cualquier .html en el navegador o servir con:
npx serve .

# Smart contracts
cd smart-contracts
npm install
npx hardhat compile
npx hardhat test

Nota: El backend (API + DB) corre en el servidor de produccion. Para desarrollo backend se requiere acceso SSH al servidor.


Estructura del Proyecto

la-tanda-web/
├── *.html                        # 30+ paginas frontend (home-dashboard, explorar, etc.)
├── marketplace-social.js         # Marketplace SPA (AT ROOT, not in js/)
├── marketplace-social.html       # Marketplace HTML (AT ROOT)
├── js/
│   ├── hub/                      # Core modules
│   │   ├── social-feed.js        # Social feed (SocialFeed singleton)
│   │   ├── contextual-widgets.js # Sidebar widgets
│   │   ├── sidebar-widgets.js    # Sidebar data
│   │   └── comments-modal.js     # Comments system
│   ├── core/                     # Shared utilities
│   ├── header/                   # Header components
│   ├── sidebar/                  # Sidebar logic
│   ├── onboarding/               # Onboarding flows
│   ├── utils/                    # Utility functions
│   ├── lib/                      # Libraries (ethers.js)
│   └── components-loader.js      # Dynamic component loading
├── css/
│   ├── hub/                      # Hub styles (social-feed.css)
│   ├── components/               # Component styles
│   ├── dashboard-layout.css      # Main layout
│   └── groups-page.css           # Groups/Tandas styles
├── chain/                        # La Tanda Chain explorer + files
├── docs/swagger/openapi.json     # OpenAPI spec (220+ paths)
├── smart-contracts/
│   ├── contracts/                # LTDToken, Vesting, Reserve (Solidity)
│   ├── scripts/                  # Deploy scripts
│   └── test/                     # Contract tests (Hardhat)
├── .github/
│   ├── workflows/                # CI/CD
│   ├── ISSUE_TEMPLATE/           # Bounty templates
│   └── PULL_REQUEST_TEMPLATE.md  # PR checklist
├── CONTRIBUTING.md               # Contribution guide + codebase patterns
└── DEVELOPER-QUICKSTART.md       # Quick setup guide

Important: marketplace-social.js lives at the root alongside the HTML files, NOT inside js/. The SocialFeed module lives at js/hub/social-feed.js. Getting file paths wrong is the #1 reason PRs are rejected.


Contribuir

Bounties Activos

Ver todos: Issues con label bounty

Como Contribuir

  1. Lee CONTRIBUTING.md — especialmente la seccion "Codebase Patterns"
  2. Revisa los bounties abiertos
  3. Comenta en el issue que te interesa
  4. Fork, trabaja en tu branch, abre PR referenciando el issue
  5. Review por maintainers (24-48h)
  6. Merge y recompensa en LTD tokens

Guias


Seguridad

Si descubres una vulnerabilidad de seguridad:

  1. NO abras un issue publico
  2. Contacta: security@latanda.online
  3. Incluye descripcion detallada y pasos para reproducir
  4. Bounty prioritario (hasta 500 LTD)

Links

Plataforma latanda.online
API Docs latanda.online/docs
GitHub github.com/INDIGOAZUL/la-tanda-web
Twitter/X @TandaWeb3
YouTube La Tanda Channel
Discussions GitHub Discussions

Licencia

MIT — Ver LICENSE


Construido desde Roatan, Honduras. Inclusion financiera a traves de tecnologia y comunidad.

Ultima actualizacion: Marzo 3, 2026

About

La Tanda - Cooperativa de Ahorro Honduras - Web App

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 51.2%
  • HTML 36.7%
  • CSS 10.2%
  • Shell 0.7%
  • TypeScript 0.6%
  • Solidity 0.5%
  • PLpgSQL 0.1%