mdoviedor / merqueo-1

Prueba Merqueo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Merqueo Test

http://ec2-18-224-229-157.us-east-2.compute.amazonaws.com:8000/

install

  • Instalar python3 y pip

  • clonar el proyecto y ubicarse en la carpeta

      git clone ...
      cd merqueo
  • Install virtualenv y crear entorno virtual

     python3 -m pip install virtualenv
     virtualenv venv
  • Activar virtualenv

     source venv/bin/activate
  • Instalar requerimientos

     pip install -r requirements.txt
  • Iniciar el servicio

     python manage.py runserver 127.0.0.1:8000

Configuracion de base datos(Opcional)

Puede cambiar la configuracion de la base de datos en.

# merqueo/merqueo/settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'merqueo',
        'USER': 'admin',
        'PASSWORD': '***',
        'HOST': 'merqueo.c1naivehmhjb.us-east-2.rds.amazonaws.com',
        'PORT': '3306',
    }
}
  • Crear el esquema de base datos
CREATE DATABASE merqueo;
  • Correr migraciones
    python manage.py migrate

Cargar datos

Para cargar los datos de los json a la base de datos ejecute el sigiente comando.

    python manage.py loaddatafromjson

Testing

Para ejecutar las pruebas de los servicios ejecute.

  python manage.py test

Documentacion

Documentación y test del API link

El API cuenta con los servicios CRUD de las entidades Products, Providers, Users, Orders, inventory.

Otros servicios

Endpoint Descripción
/inventory/after Lista el Inventartio del dia
/orders/in_inventory/ productos que puedes ser alistados desde el inventario
/orders/{id}/provider/ Orden con la lista de los productos que pueden ser tomados de inventario y los que deben ser alistados por proveedores
/products/best_sellers/ Productos mas vendidos el dia
/products/less_sold/ Productos menos vendidos el dia

Breve descripcion de la implementacion

El API fue desarrollada con python, usando Django rest framework, Se hizo uso de MySQL como motor de base de datos. Fue desplegada en Amazon Web Serives, haciendo uso de EC2, la base en el servicio RDS de AWS.

Modelo de capas

alt Modelo de capas

Modelo(ORM)

Entidades encargadas de gestionar la conexion, peristencia y consulta de informacion de la base de datos.

Views(ViewSet)

Se encarga de recibir la peticion, ejecutar la logica requerida y serializar los datos para poder dar respuesta.

Serializer: Se encarga de validar y trasformar los modelos o queryset en listas o dicionarios para poder ser retorn en formato JSON.

Logica de negocio: Encargada de ejecutar la logica solicitada en la aplicacion

Base de datos

alt modelo entidad ralacion

About

Prueba Merqueo


Languages

Language:TSQL 50.8%Language:Python 49.2%