Skip to content

alejandrette/SafeHaven

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

450 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Aplicación de Gestión Financiera Personal

Descripción General.

Esta aplicación ayuda a los usuarios a registrar sus ingresos, gastos y presupuestos, ofreciendo un análisis detallado de su situación financiera y recomendaciones personalizadas basadas en sus hábitos de consumo. Está diseñada para simplificar la gestión financiera personal con funcionalidades visuales y fáciles de usar. En el que aparte puede crear grupos de usuarios con el que compartiran las finanzas y un chat en el que estará fromado por los integrantes del grupo para poder comunicarse entre ellos sin necesidad de una aplicación externa.

Funcionalidades Principales..

  1. Registro de Transacciones
  • Permite a los usuarios registrar ingresos y gastos, categorizándolos (alimentación, transporte, entretenimiento, etc.).
  • Agregar detalles como monto, fecha, método de pago y notas adicionales.
  1. Gestión de Presupuestos
  • Creación y seguimiento de presupuestos mensuales por categorías.
  • Alertas si el usuario se acerca a superar el presupuesto.
  1. Visualización de Datos
  • Gráficos interactivos (barras, pastel, líneas) para mostrar la distribución de gastos e ingresos.
  • Resúmenes financieros diarios, semanales y mensuales.
  1. Gestión Multidivisa
  • Conversión automática de monedas al registrar transacciones en divisas extranjeras, usando una API de tasas de cambio (CurrencyLayer).
  1. Autenticación y Seguridad
  • Registro de usuarios con correo electrónico y autenticación (por ejemplo, JWT).
  • Cifrado de datos sensibles.
  1. Integración con Bancos y Tarjetas (Opcional Avanzado)
  • Sincronización automática de cuentas bancarias y tarjetas para importar transacciones usando una API como Plaid o FinBox.
  1. Grupos de usuarios
  • Grupos formados por usuarios en los que son invitados mediante un token o invitacion.
  • Compartir las finanzas con el resto de usuarios del grupo.
  1. Chat entre usuarios
  • Compartir un chat global por cada grupo sin necesidad de usar otra aplicación externa.
  • Por ejemplo un chat de telegram o appWrite
  1. Otros Extras
  • Recordatorios automáticos para pagos recurrentes (facturas, rentas, etc.).
  • Modo oscuro y personalización de temas.

Tecnologías Sugeridas

Frontend

  • React: Para construir la interfaz de usuario.
  • Librerías de diseño: Material-UI, Chakra UI, o TailwindCSS.
  • Librería para gráficos: Chart.js o Recharts.

Backend

  • Python con Flask: Para construir la API.
  • Autenticación: JWT.
  • Base de datos: MySQL.

APIs Externas

  • CurrencyLayer o ExchangeRate-API: Para conversión de divisas en tiempo real.
  • Plaid API: Para integración bancaria y automatización de transacciones.
  • Telegram o appWrite: Para chat global de usuarios.

Estructura del Proyecto

Páginas principales

  • Login:
    • Donde el usuario podrá acceder a su apartado personal.
  • Singup:
    • El usuario podrá crearse una cuenta para acceder
    • Opcional: cifrar contrseñas
  • Inicio:
    • Resumen general de finanzas.
    • Gráficos de ingresos/gastos.
  • Registro de Transacciones:
    • Formulario para agregar o editar ingresos y gastos.
  • Presupuesto:
    • Gestión de presupuestos y seguimiento.
  • Finanzas en Grupo:
    • Todos los usuarios comparten las mismas finanzas.
  • Chat global:
    • Donde los usuarios tendrán un chat para comunicarse entre ellos.
  • Análisis:
    • Panel con recomendaciones personalizadas.
  • Configuración:
    • Gestión de cuenta, temas, exportación de datos.

Endpoints principales

  • /auth:
    • Registro, inicio de sesión, y autenticación de usuarios.
  • /transactions:
    • CRUD de ingresos y gastos.
  • /budget:
    • Gestión de presupuestos.
  • /analysis:
    • Generación de análisis y recomendaciones.
  • /currency:
    • Conversión de divisas usando una API externa.

Base de datos

  • Tablas principales:
    • Usuarios: Información de usuarios.
    • Transacciones: Detalles de ingresos y gastos.
    • Presupuestos: Configuración de presupuestos por categorías.
    • Historial de conversión: Tasas de cambio registradas.
    • Grupos: Usuarios que forman parte del grupo.

Desafíos Técnicos

Sincronización bancaria

  • Implementar APIs como Plaid puede requerir configuraciones avanzadas y manejo de datos sensibles.

Análisis de datos

  • Construir algoritmos personalizados para detectar patrones y generar recomendaciones útiles.

Visualización de gráficos

  • Asegurar que las visualizaciones sean interactivas y actualicen datos en tiempo real.

Escalabilidad

  • Manejar múltiples usuarios y grandes volúmenes de datos transaccionales de forma eficiente.

Chat

  • Lograr un chat en tiempo real de usuarios.

About

Create web applications with React and connected them to your own Python Flask backend API. Compatible with Gitpod.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 57.4%
  • Python 26.1%
  • CSS 14.2%
  • HTML 1.4%
  • Dockerfile 0.3%
  • Mako 0.3%
  • Other 0.3%