Information Gathering - betoooo08/MyFinPlanner GitHub Wiki

Information Gathering for MyFinPlanner

1. User Research

  • Target Personas
    • Young Professionals managing salary, building savings.
    • Freelancers & Contractors with irregular income streams.
    • Recent Graduates learning to budget student loans and living expenses.
  • Key Questions
    • ¿Cuáles son tus principales retos al planear tu presupuesto mensual?
    • ¿Qué alertas o notificaciones te ayudan más a mantenerte en línea con tus objetivos financieros?
    • ¿Con qué frecuencia revisas tus inversiones o reportes de gastos?

2. Competitor Analysis

  • Mint, YNAB, PocketSmith
    • Pros: alertas visuales, etiquetado automático de transacciones, reports exportables.
    • Contras: curvas de aprendizaje pronunciadas, funcionalidades de AI limitadas.
  • Takeaways para MyFinPlanner
    • Interfaz limpia y minimalista.
    • Alertas tempranas (80 % y 100 %) con toasts y pop-ups.
    • Exportar reportes a PDF/CSV integrado.

3. Analytics & Usage Metrics

  • Páginas más visitadas
    1. Dashboard principal
    2. Sección de Transacciones
    3. Creación de presupuesto
  • Puntos de abandono
    • Formulario de signup: revisar tasa de error en validación de contraseña.
    • Flujo de “Ver transacciones” dentro de un presupuesto: optimizar carga asíncrona.

4. Business & Technical Requirements

  • Restricciones legales
    • Encriptar datos sensibles en reposo y en tránsito.
  • Tecnologías & APIs
    • Backend: Django 4.2, PostgreSQL (Cloud SQL).
    • Frontend: Tailwind CSS + Alpine/Lucide + Chart.js.
    • Data Feeds: Finnhub para cotizaciones de mercado.
    • AI: OpenAI private key, almacenar prompts/respuestas en modelo AIInsight.

5. Data Models & Flujos de Usuario

  • Entidades clave
    • User, Transaction, Category, Budget, Goal, Report, AIInsight
  • Flujos de ejemplo
    1. Crear Presupuesto → asignar categoría → establecer monto y alerta (80 %) → guardar.
    2. Registrar Gasto → disparar señal pre_save → actualizar budget.spent → si ≥ 80 %, enviar notificación.
    3. Recuperar Contraseña → formulario email → envío de link → reset de contraseña → redirigir a /login/.
    4. Generar Reporte → seleccionar rango y formato → invocar view → retornar archivo descargable.

6. Next Steps

  1. Diseñar la encuesta y reclutar usuarios (semana 1).
  2. Conducir entrevistas y tabular resultados (semana 2).
  3. Definir prototipos de UI para alertas de presupuesto y password-recovery.
  4. Priorizar backlog según hallazgos.
  5. Validar con stakeholders antes de arrancar desarrollo del Sprint 01.