Este proyecto es un servicio Django diseñado para migrar y gestionar datos relacionados con clientes y sus transacciones mediante archivos de Excel. La aplicación ofrece una interfaz web para CRUD de entidades como Instituciones, Clientes, Cuentas y Transacciones, así como una API REST que permite exponer estos recursos como microservicios.
django_app/
├── manage.py
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
└── app/
│ ├── admin.py
│ ├── apps.py
│ ├── forms.py
│ ├── models.py
│ ├── urls.py
│ ├── views.py
├── management/
│ ├── commands/
│ │ └── export_transactions.py
│ │ └── load_transactions.py
├── templates/
│ ├── base.html
│ ├── login.html
│ ├── cargar_transacciones.html
│ ├── transacciones_cuenta.html
│ ├── 404.html
│ ├── clientes/
│ │ ├── cliente_list.html
│ │ ├── cliente_form.html
│ │ └── cliente_detail.html
│ ├── cuentas/
│ │ ├── cuenta_list.html
│ │ ├── cuenta_form.html
│ │ └── cuenta_detail.html
│ └── institucion/
│ ├── institucion_confirm_delete.html
│ ├── institucion_form.html
│ └── institucion_list.html
README.md
Primero, descarga o clona el proyecto desde el repositorio. Usa el siguiente comando para clonar el repositorio en tu máquina local:
git clone https://github.com/jlchavarriaga/migrador.git
Luego, navega al directorio del proyecto:
cd migrador
Ejecuta los siguientes comandos para construir los contenedores Docker y ejecutarlos en segundo plano:
docker-compose build
docker-compose up -d
Aplica las migraciones para configurar la base de datos según los modelos de Django:
docker-compose run web python manage.py migrate
Crea un superusuario para acceder a la interfaz de administración de Django:
docker-compose run web python manage.py createsuperuser
- Usuario: admin
- Contraseña: admin1234
Una vez que los contenedores están en ejecución y las migraciones se han aplicado correctamente, puedes acceder a la aplicación en tu navegador:
- Interfaz principal: http://localhost:8000
- CRUD de Clientes: http://localhost:8000/clientes/
- CRUD de Cuentas: http://localhost:8000/cuentas/
docker-compose run web django-admin startproject myproject .
docker-compose run web python manage.py startapp app_banco
docker-compose build
docker-compose up -d
docker-compose run web python manage.py migrate
docker-compose run web python manage.py makemigrations
docker-compose run web python manage.py migrate
docker-compose run web python manage.py createsuperuser
- admin
- admin1234
- Interfaz principal: http://localhost:8000
- CRUD de Clientes: http://localhost:8000/clientes/
- CRUD de Cuentas: http://localhost:8000/cuentas/
docker-compose run -v /ruta/a/tu/carpeta/descargas:/app/descargas web python manage.py load_transactions /app/descargas/transacciones_prueba.xlsx
Obtén el nombre del contenedor ejecutando:
docker ps
Usa el siguiente comando para copiar el archivo al contenedor:
docker cp /ruta/a/tu/carpeta/descargas/transacciones_prueba.xlsx nombre_del_contenedor:/app/transacciones_prueba.xlsx
Ejemplo en Windows:
docker cp C:\Users\Usuario\Downloads\transacciones_prueba.xlsx django_app-web-1:/app/transacciones_prueba.xlsx
ejecutar el comando load_transactions
docker-compose run web python manage.py load_transactions /app/transacciones_prueba.xlsx
docker exec -it django_app-web-1 python manage.py load_transactions /app/transacciones_prueba.xlsx
Desde windows
python -m venv venv
venv\Scripts\activate
source venv/bin/activate
pip install -r requirements.txt
python manage.py load_transactions /ruta/al/archivo.xlsx
deactivate
python manage.py export_transactions /ruta/donde/guardar/transacciones_exportadas.xlsx
docker-compose run web python manage.py export_transactions /app/transacciones_exportadas.xlsx
docker exec -it django_app-web-1 python manage.py export_transactions /app/transacciones_prueba.xlsx