Skip to content

Repositorio en donde se almacena la prueba técnica realizada para la vacante de Fullstack Developer en Mubit.co

Notifications You must be signed in to change notification settings

JDBanda/pruebaMubit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Funcionamiento

La interfaz inicial del programa se ve de la siguiente manera (para usar el programa desde internet http://jdbada.pythonanywhere.com/)

image

Su funcionamiento esta basado en devolver el cambio de forma en que se usen la menor cantidad de billetes y monedas, para ello será necesario que se ingrese una cantidad del monto total y una cantidad con la que pago el cliente.

image

Posteriormente se da click en el botón pagar y se verá el resultado en número y en billetes, en el caso del cambio con centavos se especifico un redondeo de cincuenta centavos a las cantidades menores a 1 peso y mayores a 0.25 centavos.

image image

Si colocamos a la URL la cadena /admin podremos ingresar al panel del administrador y ver los registros de ventas guardados. Las claves de acceso son admin para los dos campos (sin comillas). image

Utilizar el código

Para utilizar el código de este repositorio será necesario en primer lugar descargar el repositorio, ya sea clonandolo, haciendo fork o descargandolo en zip. Posteriormente se deberá crear un entorno virtual en la raíz de la carpeta pruebaMubit

Para windows:
c:\>python -m venv nombre_del_entorno_virtual
Para sistemas basados en UNIX:
python3 -m venv nombre_del_entorno_virtual

Posteriormente será necesario activar el entorno virtual e instalar django

env\Scripts\activate
pip install django

Por defecto Django instalará algunos paquetes adicionales, si deseamos usar el proyecto con el gestor de base de datos MySQLite no será necesario hacer algún cambio en las configuraciones, en caso de querer guardar los registros en una base de datos distinta necesitaremos seguir las instrucciones correspondientes de la documentación de django para cada gestor de base de datos. https://docs.djangoproject.com/en/3.2/ref/settings/#databases

Debido a que la información no parece ser sensible se continuará explicando sin modificar mucho las opciones de configuración, al final hay un apartado para Desplegar en donde si es necesario cambiar todas estas configuaciones. seguido de esto serpa necesario posicionarnos a la altura del archivo manage.py ubicado en prueba técnica

image

esto es importante ya que ejecutaremos una serie de comandos para efectuar las migraciones y posteriormente correr la aplicación:

cd pruebatecnica
python manage.py makemigrations
python manage.py migrate
python manage.py runserver

Si nuestra terminal luce de esta manera significa que el programa corre en el servidor incorporado. image

Para realizar modificaciones en la vista, rutas o templates bastará con guardar y volver a cargar la página para ver los cambios. Más sin embargo ejecutar cambios en la base dadatos requerirá de detener el servidor y ejecutar los comandos de migraciones.

Despliegue de la aplicación

Para este punto decidí utilizar el servicio de Pythonanywhere quienes proporcionan un despliegue sencillo y un plan gratuito para una solo webapp por usuario. Dentro del menú Web de nuestro dashboard daremos click en crear una nueva web app y seleccionaremos una configuración manual image

La versión de python que estemos utilizando y daremos siguiente, podemos guiarnos del asistente para configurar el sitio sin menores problemas, si queremos tener más detalles sobre como desplegar la aplicación de django podemos leer la documentación de ayuda image

Como pasos generales vamos a crear un entorno virtual, instalar Django en el, instalar MySQL (debido a que el servicio gratuito no tiene otro gestor de BD de forma gratuita)

cd pruebaMubit
mkvirtualenv --python=/usr/bin/python3.8 pruebatecnica-virtualenv
pip install django
pip install pymysql

Posteriormente será necesario definir:

  1. Una ruta para los archivos estáticos

image

  1. Definir el estado de la aplicación como "No debug" y especificar el host al que se conecta

image

  1. Cambiar la base de datos y sus credenciales de acceso (este ejemplo no tiene gran relevancia en temas de seguridad por lo que la clave se coloca directamente en las configuraciones).

image

  1. Editar el archivo /pruebaMubit/pruebatecnica/venta/urls.py para que pueda acceder a los archivos estáticos

image

  1. Ejecutar el comando para aplicar las migraciones en la consola (menú BASH)
  2. Ejecutar el comando para obtener todos los datos estáticos (imagenes, css, js, etc.)
python manage.py collectstatic
  1. Editar el archivo del servidor, básicamente sin editar este archivo la aplicación no funcionará

image

Y gracias a esto finalmente podremos visualizar la aplicación corriendo en un servidor de pythonanywhere.

image

About

Repositorio en donde se almacena la prueba técnica realizada para la vacante de Fullstack Developer en Mubit.co

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published