Usuarios totales
Nuevos (30d)
Proyectos
Free
Individual
Pro
Team

Nuevos usuarios (14 días)

Distribución de planes

Proyectos por mes (6 meses)

MRR estimado por plan

Todos los usuarios

UsuarioPlanCicloEstadoProyectosRentCastRegistroAcciones

Todos los proyectos

ProyectoPropietarioEstadoAlmacenamientoCreado
Usuarios activos
Proyectos (30d)
Nuevos usuarios (7d)

Resumen por plan

PlanUsuariosPrecio/mesMRR estimado

Tickets recientes

UsuarioAsuntoEstadoFecha
🏠

RentCast

Property Data
Developer (Free)
Este mes
30 días
Total
50
Límite/mes
Última llamada: —
Datos de propiedades: valor estimado, rentas comparables, historial de ventas. Se usa en el wizard de proyectos. Caché activo para evitar llamadas repetidas.
/v1/properties $0.20/req extra IP-restricted
🗺️

Google Maps Platform

Mapping & Geocoding
Activo
Este mes
30 días
Total
$200
Crédito/mes
Última llamada: —
Mapas interactivos, autocompletado de direcciones, Street View y geolocalización. Usado en wizard de proyectos y vista de propiedad.
Maps JS API Places API Street View Static
📧

Resend

Transactional Email
Activo
Este mes
30 días
Total
3K
Límite/mes
Última llamada: —
Emails transaccionales: verificación, recuperación de contraseña, invitaciones, notificaciones de facturación.
DKIM/SPF/DMARC flipcalcpro.com
💳

Stripe

Payments
Configurado
Este mes
30 días
Total
Última llamada: —
Procesamiento de pagos y suscripciones. Maneja planes Individual, Pro y Team con ciclos mensuales y anuales.
Subscriptions Webhooks Customer Portal
1

Registro de Nuevo Usuario

Creado: Jun 14, 2025
Actualizado: Jun 14, 2025
UI
Frontend — El usuario completa el formulario de registro (nombre, email, contraseña) en index.html
BE
POST /api/auth/register — Valida campos, verifica que el email no exista, hashea la contraseña con bcrypt
DB
INSERT users — Crea registro en tabla users con plan_id = 1 (Free) e is_active = true
Resend — Envía email de bienvenida/verificación desde noreply@flipcalcpro.com
BE
Respuesta — Devuelve JWT token + datos del usuario. El frontend redirige al dashboard
2

Inicio de Sesión (Login)

Creado: Jun 14, 2025
Actualizado: Jun 14, 2025
UI
Frontend — El usuario ingresa email y contraseña en el formulario de login de index.html
BE
POST /api/auth/login — Rate limit: 5 intentos/15min. Busca usuario por email, verifica bcrypt hash
DB
SELECT users — Verifica is_active y obtiene datos del plan via JOIN con subscriptions y plans
BE
JWT firmado — Genera token con {id, email, plan_id}, expira en 7 días
UI
Frontend — Guarda token en localStorage, redirige a dashboard.html
3

Recuperación de Contraseña

Creado: Jun 14, 2025
Actualizado: Jun 14, 2025
UI
Frontend — Usuario ingresa su email en el formulario de recuperación
BE
POST /api/auth/forgot-password — Genera token único y fecha de expiración (1 hora)
DB
UPDATE users — Guarda password_reset_token y password_reset_expires
Resend — Envía email con link de reset desde noreply@flipcalcpro.com
BE
POST /api/auth/reset-password — Valida token, hashea nueva contraseña, limpia campos de reset
4

Creación de Proyecto (Fix & Flip)

Creado: Jun 14, 2025
Actualizado: Jun 25, 2025
UI
Wizard 3 pasos — El usuario ingresa dirección (Google Places autocomplete), nombre del proyecto y estrategia (Fix & Flip, BRRRR, Wholesale)
API
Google Places API — Autocompletado de dirección en tiempo real mientras el usuario escribe
BE
POST /api/projects — Verifica límite de proyectos del plan, valida datos, crea el proyecto
DB
INSERT projects — Guarda proyecto con owner_id, dirección, nombre, estrategia y status = 'analyzing'
UI
Frontend — Redirige a project.html?id=X y dispara automáticamente consulta a RentCast
5

Datos del Proyecto

Creado: Jun 14, 2025
Actualizado: Jun 25, 2025
UI
data.html — Muestra ficha completa de la propiedad con campos inline-editables: specs, lote, características, impuestos, historial de ventas
API
Google Maps Embed + Street View — Vista de mapa y Street View side-by-side de la propiedad
DB
SELECT projects + property_cache — Carga datos guardados del proyecto y caché de propiedad sin llamar a RentCast
BE
PATCH /api/projects/:id — El usuario puede editar cualquier campo directamente en la UI; se guarda en tiempo real
6

Análisis — Consulta RentCast

Creado: Jun 20, 2025
Actualizado: Jun 25, 2025
UI
project.html — Al abrir un proyecto, el sistema verifica si hay datos en caché antes de llamar a la API
DB
SELECT property_cache — Busca por address + city + state. Si hay hit, devuelve datos cacheados sin consumir cuota
API
GET /api/property-lookup/lookupRentCast /v1/properties — Solo si no hay caché. Obtiene specs, features, impuestos, historial de ventas y dueño
DB
INSERT/UPDATE property_cache — Guarda resultado para evitar llamadas futuras. El caché persiste aunque se elimine el proyecto
DB
INSERT api_usage_log + api_usage_daily — Registra la llamada para tracking de consumo en el panel admin
UI
Frontend — Puebla automáticamente los campos de la ficha de propiedad con los datos recibidos

Dominios

RegistradorNamecheap
DNSNamecheap DNS
SSLLet's Encrypt

Servidor

ProveedorDigitalOcean
TipoDroplet (VPS)
Sistema operativoUbuntu 22.04 LTS
Costo$6 / mes
ProxyNginx
ProcesoPM2

Backend

RuntimeNode.js v20
FrameworkExpress.js
Puerto3000 (interno)
Variables de entornodotenvx
DeployFileZilla SFTP
EstadoActivo

Base de datos

MotorPostgreSQL
Base de datosflipcalc
Usuario appflipcalc_user
UbicaciónLocal (mismo Droplet)
MigracionesSQL manual

Frontend

StackHTML / CSS / JS Vanilla
ChartsChart.js
Ubicación/var/www/flipcalc/frontend
Admin panel/var/www/flipcalc-admin
Servido porNginx (estático)

Email

TransaccionalResend
Límite gratis3,000 emails/mes
Bandeja de entradaZoho Mail Lite
AutenticaciónDKIM / SPF / DMARC
Costo Zoho$1 / mes
Cuentas de email
Infoinfo@flipcalcpro.com
No-replynoreply@flipcalcpro.com
Soportesupport@flipcalcpro.com
Notificacionesnotifications@flipcalcpro.com
DMARCdmarc@flipcalcpro.com

Costos fijos

DigitalOcean$6.00 / mes
Namecheap~$15 / año
Zoho Mail$1.00 / mes
Otros~$75.00 / mes
Total~$83 / mes

Seguridad

Auth appJWT (8h)
Auth adminJWT separado (source: admin_panel)
Contraseñasbcrypt (10 rounds)
Rate limiting100 req/15min general · 5 login
HeadersHelmet.js
HTTPSLet's Encrypt

Miembros del equipo

NombreEmailRolEstadoCreadoAcciones