Agregar Productos a Carrito de Compras - GabrielaE/Compras GitHub Wiki

logoUTPL

PROYECTO DE ARQUITECTURA DE APLICACIONES

Nombre: Gabriela Espinoza

1. Tema

Aplicación web para agregar productos de equipos de computación y accesorios a un carrito de compras.

2. Objetivos

  • Realizar pedidos por parte de los usuarios
  • Recibir órdenes de compras de clientes interesados en algún producto
  • Categorizar productos

3. Tecnología a utilizar

  • 3.1 Lenguaje de Programación

python

Su filósofo hace hincapié en una sintaxis muy limpia y que favorezca un código legible soporta orientación a objetos y es multiplataforma. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece un código legible. Se trata de un lenguaje interpretado o de script, con tipado dinámico, fuertemente tipado, multiplataforma y orientado a objetos[1]

  • 3.2 Framework

django

Framework de código abierto escrito en python, que cumple en cierta manera con el modelo vista controlador. Facilita la creación de sitios web complejos. Django pone énfasis en el reuso, la conectividad y el desarrollo rápido. Fue construido como una herramienta para resolver problemas reales en un entorno empresarial. [2]

  • 3.3 Base de Datos

mysql

Es una base de datos muy rápida en la lectura cuando utiliza el motor no transaccional MyISAM, pero puede provocar problemas de integridad en entornos de alta concurrencia en la modificación. En aplicaciones web hay baja concurrencia en la modificación de datos y en cambio el entorno es intensivo en lectura de datos, lo que hace a MySQL ideal para este tipo de aplicaciones. Sea cual sea el entorno en el que va a utilizar MySQL, es importante monitorizar de antemano el rendimiento para detectar y corregir errores tanto de SQL como de programación. [3]

5. Modelo Vista Controlador

mysql

Es una arquitectura bien difundida que propone separar las aplicaciones en tres partes:

  • Los Modelos: la parte de la aplicación que define la estructura de la base de datos y se encarga de la comunicación con ella. Los modelos van a ser clases que representen las cosas que queremos almacenar en la base de datos. Ejemplo: clase Cliente, clase Item, clase Canasta etc.

  • Las Vistas: la interfaz del usuario, con el código que elije qué datos pedirle o mostrarle en cada momento. Las vistas van a ser funciones normales de Python, que van a devolver el contenido que debe ser entregado al usuario (página web, imágen, etc.). Ejemplo: la vista "pagina_de_inicio".

  • Los Controladores: la parte de la aplicación que elije qué vistas ejecutar en respuesta a las acciones o peticiones del usuario. Y para los controladores, nosotros sólo vamos a tener que definir qué función (vista) debe ser llamada para cada url. Ejemplo: "cuando el usuario pida la url http://misitio.com/inicio/, ejecutar la vista pagina_de_inicio". Django se encarga en gran parte de los controladores, y nos provee de herramientas para facilitarnos el desarrollo de las vistas y los modelos.

5. Modelo de Base de Datos

mysql

6. Bibliografía

[1] http://es.wikipedia.org/wiki/Python 
[2] http://es.wikipedia.org/wiki/Django_(framework)
[3] http://es.wikipedia.org/wiki/MySQL