Skip to content
/ pirra Public

Sistema libre de facturaci贸n electr贸nica AFIP 馃嚘馃嚪

License

Notifications You must be signed in to change notification settings

fiqus/pirra

Repository files navigation

Pirra - Facturas electronicas AFIP como Zeus manda

Tetis, temiendo por la vida de su hijo si 茅ste fuera llevado con los combatientes, resolvi贸 esconderlo a la vista de los griegos. As铆, corri贸 a Tesalia, donde Aquiles se educaba bajo la tutela del viejo Quir贸n; y, llev谩ndolo consigo, lo visti贸 ocultamente con vestimentas de mujer y lo entreg贸 a un confidente suyo, orden谩ndole que lo condujera a la isla de Esciro, sede del rey Licomedes, y que all铆, bajo el nombre de Pirra, como si fuera una hija de ella, lo custodiara ocultamente ...

Configuracion de entorno de desarrollo

  1. Instalar paquetes del sistema necesarios

     sudo apt-get install openssl libssl-dev swig libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.5-dev tk8.5-dev libpq-dev redis-server python-dev
     #si se agrega algo aca agregarlo tambien a las tasks de ansible
    
  2. Instalar pip y virtualenv

     sudo apt install python3-pip
     sudo pip3 install virtualenv virtualenvwrapper
    
  3. Crear y activar virtualenv

     mkvirtualenv -p python3 pirra
     workon pirra
    
  4. Si mkvirtualenv no funciona entonces

     sudo pip3 install virtualenv
     virtualenv env
     . env/bin/activate
    
  5. Instalar paquetes de python

     pip3 install -r requirements/dev.txt
    
  6. Copiar template de settings

     cp pirra_web/settings/dev.template.py pirra_web/settings/dev.py
     # editar lo que quieran cambiar de settings en pirra_web/settings/dev.py
    
  7. Instalar requerimientos npm

     npm install
    
  8. Configurar y Crear BD

    considerar que la versi贸n de postgres que se necesita utilizar es la 9.4

     sudo apt-get install postgresql
     sudo -u postgres psql postgres
     \password postgres # elegir un password y poner el mismo en pirra_web/settings/dev.py
     #salir de psql (ctrl+d)
     sudo -u postgres createdb pirra
     python manage.py migrate
    

    O se puede utilizar docker-compose

    docker-compose up
    
  9. Crear un superusuario

     python manage.py createsuperuser
    
  10. Crear empresa

    python manage.py init_empresa [NRO_DOC] [EMPRESA]        
    
  11. Cargar los datos de aplicacion AFIP (para tener tipos de comprobante, moneda, etc)

    python manage.py loaddata afip/fixtures/initial_data.json 
    # elegir el schema public
    
  12. Cargar datos del padron de inscripcion a la afip

    python manage.py load_padron --limit 1000 #carga solamente los primeros 1000
    
  13. Correr el server de prueba

    python manage.py runserver
    npm run watch
    
  14. Para ver el sistema corriendo entrar a localhost:8000 (no funciona si usan 127.0.0.1:8000)

Migraciones

  • Generar nuevas migraciones

      python manage.py makemigrations
    
  • Ejecutar migraciones (cada vez que traemos cambios de git):

      python manage.py migrate 
    

Deploy en hashicorp/bionic64 con Vagrant

  1. Instalar Ansible y VirtualBox

     sudo apt-get install ansible virtualbox
    
  2. Instalar vagrant seg煤n https://www.vagrantup.com/intro/getting-started/install.html

  3. Clonar repositorio

     git clone https://github.com/fiqus/pirra.git
    
  4. Copiar el template de las variables de deploy al archivo de configuraci贸n:

     cp pirra/deploy/ansible/group_vars/extra-variables.template.yml pirra/deploy/ansible/group_vars/extra-variables.yml
    
  5. Completar las variables del archivo 'extra-variables.yml' con la configuraci贸n local que se desee.

  6. Ingresar a la carpeta de deploy ubicada en el root del proyecto

     cd deploy
    
  7. Levantar el servidor localmente con Vagrant

     vagrant up
    
  8. El servidor quedar谩 corriendo en localhost:8080