ppizarror / recicla2

Aplicación web para el reciclaje de artículos electrónicos. Trabajo curso CC5002, uchile

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Recicla2

Proyecto reciclaje, tarea curso CC5002-1 Desarrollo de Aplicaciones Web. Universidad de Chile.

Algunas configuraciones

Configuraciones de php.ini:

post_max_size=64M

Servidor:

Apache puertos: 80, 8080
Mysql puertos: 3306

Sobre la base de datos

En el archivo sql/tarea2.sql se encuentra la base de datos con los registros ya añadidos, pruebe a añadir este sql a phpmyadmin para tener todos los registros de la aplicación.

En la carpeta:

resources/photos/

Se encuentran los archivos de las imágenes añadidos al servidor.

Sobre el desarrollo

La aplicación tiene una ideologia fuerte en javascript. Esta basada en módulos, los cuales son:

add_item: Añade un ítem.
list_item: Lista los ítem (index).
show_item: Muestra un ítem por una id.

Cada módulo está compuesto de, al menos:

config.js    Configuraciones
init.js      Inicia el módulo
style.css    Estilos
ui.js        Funciones asociadas a la parte gráfica, añade divs, etc.

El php lo que hace es cargar un ítem como un arreglo JSON según las distintas solicitaciones del navegador. Para ello inserta en el head:

items = [{"comments":[],"comuna":"Llay Llay","date":"2018-04-26 22:31:48","desc":"","id":"26","name":"Una plei4 nuevita","photos":["resources\/photos\/11618377305ae27d8500ed0.PNG"],"region":"Regi\u00f3n de Valpara\u00edso","userContac....

Estos datos son trabajados por las clases Item e ItemComment definidas en src/components. Básicamente se castean, pasan a listas y se definen distintas funciones getters para retornar cada resultado.

Para la comunicación con el servidor se utiliza:

- Ítem: Todo se usa por $_POST, se llama a src/server/add_item.php para añadir elementos.
- Comentarios: Se llama mediante Ajax, utilizando jQuery.
- Fotos: Se añaden en add_item.php
- Búsqueda de ítems: Consulta mediante Ajax a search_item.php

Para llevar a cabo las validaciones se utilizaron funciones propias, por lo general se valido:

1. Largo mínimo o máximo
2. Expresiones regulares

Por el lado del servidor también se aplicaron validaciones, solo de tamaño (largo de los strings). Cabe destacar que para ciertos datos (nombre, descripción, calle, email) se validó como un string, para la región, comuna, teléfono se valido como un entero.

Para el caso del buscador se creó el archivo search_item.php en src/server/ el cual consulta a la base de datos por un nombre parecido en la base de datos (LIKE). El resultado se retorna a la función y se escribe en varios div. La barra de búsqueda se añadió al header programado de la tarea 2.

Para los mapas de google maps se consultó la API, las fotos se obtienen mediante items.php, el cual recorre cada artículo, consulta la comuna (obteniendo su nombre y la región), y luego se añade cada fotografia asociada a ese artículo. Todo se escribe en un json. Posteriormente la función listItemInitMap() de src/modules/list_item/ui.js recoge la información y la escribe ordenadamente.

Página online

La aplicación en su versión 2.30 se encuentra online en https://ppizarror.000webhostapp.com/recicla2/index.php. En ella se puede interactuar con los controles.

Validaciones W3C:

Documentación

La documentación es generada con JSDOC3, se puede revisar de manera online o bien se puede acceder de manera local a la carpeta docs/index.html.

About

Aplicación web para el reciclaje de artículos electrónicos. Trabajo curso CC5002, uchile

License:MIT License


Languages

Language:CSS 64.8%Language:JavaScript 25.0%Language:PHP 10.2%Language:HTML 0.0%Language:Batchfile 0.0%