# Proyectos - Compraventa

El objetivo de este proyecto es crear un sitio de compraventa de productos puestos a la venta por los propios usuarios de la página.

Un ejemplo de compraventa puede probarse en la ventana siguiente:

EL EJEMPLO TODAVÍA NO ESTÁ TERMINADO

Estas pueden ser las consultas de creación de tabla para este proyecto:

    // Consultas de creación de tablas en MySQL
    $consulta_creatabla_usuarios = "CREATE TABLE $dbUsuarios (
        id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
        usuario VARCHAR($tamUsuario),
        password VARCHAR($tamCifrado),
        PRIMARY KEY(id)
        )";

    $consulta_creatabla_articulos = "CREATE TABLE $dbArticulos (
        id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
        articulo VARCHAR($tamArticulo),
        precio FLOAT,
        id_vendedor INTEGER,
        id_comprador INTEGER,
        reservado BOOLEAN,
        fecha_reserva DATETIME,
        comprado BOOLEAN,
        fecha_compra DATE,
        PRIMARY KEY(id)
        )";

    // Consultas de creación de tablas en SQLite
    $consulta_creatabla_usuarios = "CREATE TABLE $dbUsuarios (
        id INTEGER PRIMARY KEY,
        usuario VARCHAR($tamUsuario),
        password VARCHAR($tamCifrado)
        )";

    $consulta_creatabla_articulos = "CREATE TABLE $dbArticulos (
        id INTEGER PRIMARY KEY,
        articulo VARCHAR($tamArticulo),
        precio FLOAT,
        id_vendedor INTEGER,
        id_comprador INTEGER,
        reservado BOOLEAN,
        fecha_reserva DATETIME,
        comprado BOOLEAN,
        fecha_compra DATE,
        )";

    // Consulta de comprobación de existencia de tablas en MySQL
    $consultaExisteTabla = "SELECT COUNT(*) as existe_db
        FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='$dbDb'";

    // Consulta de comprobación de existencia de tablas en SQLite
    $consultaExisteTabla = "SELECT COUNT(*) as existe_db
        FROM sqlite_master WHERE type='table' AND name='$dbUsuarios'";

## Nivel 1 - Compraventa simple

Ideas:

- los usuarios deben registrarse para poder comprar o vender
- los usuarios no registrados sólo pueden ver la lista de artículos en venta
- los usuarios registrados pueden poner artículos a la venta y retirarlos
- la información que se ofrece sobre los artículos es su descripción y precio (con dos decimales)
- los usuarios registrados pueden comprar artículos puestos a la venta por otros usuarios
- el proceso de compra tiene dos pasos: primero se seleccionan los artículos, y después se confirma la compra en una página que muestra la lista de artículos elegidos y el precio total
- cuando se compra un artículo, el artículo ya no aparece a la venta
- existe un usuario administrador que puede eliminar al resto de usuarios y artículos
- los usuarios pueden darse de baja

## Nivel 2 - Compraventa avanzada

Ideas:

- se mantiene un registro de compras y ventas de cada usuario

Esta obra está bajo una licencia de Creative Commons.