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

UsuarioPlanCicloEstadoProyectosRegistroAcciones

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