- Django 3.1.7 Web Framework
- Docker Engine Despliege de servicios
- Docker Compose Orquestador de aplicaciones docker
- PostgreSQL 12.3 Relational Database
- Bootstrap 4.5 Frontend
- Nginx Servidor de archivos estáticos
-
Clonar repositorio:
$ git clone [email protected]:acyment/sistemita2.git
-
Construir imágenes:
$ export COMPOSE_FILE=local.yml $ docker-compose build
-
Levantar servicios:
$ docker-compose up
-
Interacción con Django:
$ docker-compose stop django $ docker-compose run --rm --service-ports django
Para crear un usuario administrador ejecutrar el siguiente comando:
$ docker-compose run --rm django python manage.py createsuperuser
Para traducir los permisos correr los comando:
$ docker-compose run --rm django python manage.py permissions_translation
Para agregar los permisos:
$ docker-compose run --rm django python manage.py add_permissions
Para cargar datos iniciales correr el siguiente comando:
$ docker-compose run --rm django python manage.py loaddata fixtures/*.json
En caso de que las facturas ya estén cargadas:
$ docker-compose run --rm django python manage.py load_facturas_distribuidas
Para correr los tests de integración correr el comando:
$ docker-compose run --rm django python manage.py test
-
Copiar backup
$ docker cp backup.sql.gz <container>:/backups/backup.sql.gz
-
Restore
$ docker-compose exec postgres restore backup.sql.gz
Pasos para que un proveedor pueda ver sus facturas:
- Ir al módulo de usuario y presionar el botón "Agregar"
- Completar los datos
- El email del usuario debe coincidir con el email del proveedor
- El usuario debe pertenecer al grupo "Puede ver módulo de Mis Facturas"(Puede ver comprobantes de retenciones, Puede ver Pagos, Puede ver módulo Mis facturas)
- Dar los accesos al proveedor
Pasos para que un proveedor pueda ver sus facturas pendientes:
- Ir al módulo de usuario y presionar el botón "Agregar"
- Completar los datos
- El email del usuario debe coincidir con el email del proveedor
- El usuario debe pertenecer al grupo "Puede ver módulo de Mis Facturas Pendientes"(Puede agregar Facturas A Proveedores, Puede editar número de Facturas A Proveedores, Puede ver módulo Mis facturas pendientes)
- Dar los accesos al proveedor
-
Agregar cron:
$ sudo crontab -e
-
Agregar las siguientes líneas, el cron se ejecutará todos los días a las 00hs:
0 0 * * * /home/sistemita/run_sistemita_backup
- Preparado para desarrollar directo sobre el contenedor descrito en el Dockerfile usando VSCode
- No sé por qué, pero la primera vez que se levanta la imagen en VSCode hay que correr a mano "pipenv sync -d" desde la terminal embebida (a pesar de q ya se corrió en el Dockerfile)
- A partir de ahí el grueso se prueba activando con "pipenv shell", entrando al directorio "sistemita" y desde ahí corriendo "./manage.py behave" para ejecutar todos los archivos .feature
- Para crear una visualización en UML del modelo se puede usar "./manage.py graph_models -a -o modelo.pdf"