Una aplicación integral diseñada para gestionar deudas, cobros y facturas. Desarrollada con un enfoque "mobile-first" utilizando React Native / Expo para el Frontend y FastAPI + MongoDB para el Backend.
El proyecto está dividido en dos partes principales:
- Frontend: Aplicación móvil multiplataforma desarrollada con Expo (React Native). Gestiona la interfaz de usuario, navegación, y consumos a la API backend.
- Backend: API RESTful de alto rendimiento desarrollada con FastAPI en Python. Utiliza Motor para conexiones asíncronas con una base de datos MongoDB.
- React Native & Expo: Framework para desarrollo móvil.
- Expo Router: Sistema avanzado de enrutamiento.
- Zustand: Gestión del estado global, simple y rápido.
- React Navigation: Manejo de las transiciones entre pantallas.
- FastAPI: Framework web asíncrono y de alto rendimiento.
- Motor (AsyncIOMotorClient): Driver asíncrono para interactuar con MongoDB.
- Uvicorn: Servidor ASGI recomendado para FastAPI.
- Pydantic: Validación de datos.
- Node.js (versión 18 o superior).
- Python 3.9+.
- Una instancia de MongoDB (local o Atlas).
-
Accede al directorio backend:
cd backend -
Crea el archivo de variables de entorno
.enven base a tus credenciales (asegúrate de que este archivo no se suba a repositorios públicos):MONGO_URL=mongodb+srv://<usuario>:<password>@cluster0.mongodb.net/?retryWrites=true&w=majority DB_NAME=app_deudas
-
Instala las dependencias:
pip install -r requirements.txt
-
Ejecuta el servidor de desarrollo:
uvicorn server:app --reload
El servidor estará disponible en
http://localhost:8000. Puedes ver la documentación interactiva enhttp://localhost:8000/docs.
-
Accede al directorio frontend (en una nueva terminal):
cd frontend -
Instala las dependencias:
npm install # o si usas yarn yarn install -
Inicia la aplicación en Expo:
npm start # o npx expo startEscanea el código QR desde la app de Expo Go en tu dispositivo móvil o presiona
apara abrir en el emulador de Android /ipara el simulador de iOS.
APPDEUDAS.EMERGENT/
├── backend/ # Código del servidor (FastAPI)
│ ├── server.py # Archivo principal de rutas y lógica
│ ├── requirements.txt # Dependencias de Python
│ └── .env # Variables de entorno (ignorado en Git)
│
├── frontend/ # Código de la aplicación móvil (Expo)
│ ├── app/ # Rutas base de Expo Router
│ ├── components/ # Componentes reutilizables de UI
│ ├── constants/ # Colores, tipografías y constantes
│ ├── hooks/ # Custom React hooks
│ ├── scripts/ # Scripts utilitarios (ej. reset-project)
│ ├── assets/ # Imágenes, fuentes e íconos
│ ├── package.json # Dependencias y scripts de Node.js
│ └── app.json # Configuración de la app Expo
│
├── .gitignore # Archivos a ignorar en Git
└── README.md # Documentación del proyecto
Este proyecto se distribuye bajo la licencia MIT. Eres libre de usar, modificar y distribuir el código.