Skip to content

Latest commit

 

History

History
93 lines (87 loc) · 3.3 KB

README.md

File metadata and controls

93 lines (87 loc) · 3.3 KB

kiwioptics

Software web en django para la gestion de prescripciones de medidas de la vista.

Instalación en local

Requerimientos

  • Python 3.8 o 3.9
  • PostgreSQL
  • Git

Procedimiento

  1. Clone este proyecto, usando el comando:

git clone https://github.com/SolanoJason/kiwioptics.git

  1. Instalar los packages necesarios usando el comando:

pip install -r requirements.txt

  1. Generar un secret_key para nuestro proyecto, la manera más fácil a través de djecrety
  2. Crear una base de datos en el postgresql
  3. Tener un correo que tenga activado el acceso a aplicaciones poco seguras.
  4. Crear un archivo ".env" en la raiz del directorio, donde pondremos las variables con sus valores por ejemplo:
SECRET_KEY = secret_key
DB_HOST = dbhostexample
DB_NAME = dbnameexample
DB_PASSWORD = dbpasswordexample12345 
DB_PORT = 12345
DB_USER = userexample
MY_EMAIL = test@gmail.com
MY_EMAIL_PASSWORD = mypasswordexample12345 

GOOGLE_APPLICATION_CREDENTIALS = firebase-key.json
  1. Migrar las tablas a la base de datos mediante el comando:

python manage.py migrate

  1. Para hechar a andar el sistema, use el comando

python manage.py runserver

  1. Para ingresar al sistema, vaya a 127.0.0.1:8000

  2. Para crear un usuario staff, use el comando

python manage.py createsuperuser

  1. Para ingresar al panel de administración vaya a 127.0.0.1:8000/admin

Desplegar aplicacion en Heroku

Requerimientos

  • Python 3.8 o 3.9
  • PostgreSQL
  • Cuenta en Heroku
  • Heroku CLI
  • Cuenta en Amazon AWS
  • Git

Procedimiento

  1. Crear una nueva app con ayuda del dashboard de heroku
  2. En la pestaña resources añada el add-on llamado "Heroku Postgres"
  3. En settings de la bbdd mire las credenciales de la base de datos y copie el URL
  4. En CONFIG_VARS deberá de añadir la variable DATABASE_URL con la url copiada.
  5. En su cuenta de AWS crear un bucket de almacenamiento S3 y en los permisos añadir lo siguiente en el CORS:
[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "POST",
            "GET",
            "PUT"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    }
]
  1. Copiar y pegar el Access Key ID, Secret Access Key y el nombre de tu Bucket S3 en el CONFIG VARS de la app de heroku en las variables: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_STORAGE_BUCKET_NAME
  2. Ahora las variables MY_EMAIL, MY_EMAIL_PASSWORD y SECRET_KEY del archivo ".env" lo trasladaremos al CONFIG VARS de heroku
  3. Agregamos la variable DJANGO_SETTINGS_MODULE con el valor de myOptica.settings.prod
  4. En buildpacks de la app, añada el buildpack de python
  5. Para logearse y generar una nueva llave SSH, use el comando en el directorio de su proyecto:

heroku login

  1. Añadir el heroku remote

heroku git:remote -a nombre_de_tu_app

  1. En caso de haber cambios, usamos el comando:

git add . git commit -m 'go'

  1. Hacemos el push de los cambios a heroku

git push heroku main

  1. Entramos a la terminal de produccion

heroku run bash

  1. Ahora migramos las tablas a la base de datos de produccion

python manage.py migrate

  1. Creamos el superusuario o el staff

python manage.py createsuperuser

  1. Finalmente entramos al link https://nombre_de_tu_app.herokuapp.com y disfrutamos