# ByteCenter App

Aplicación web desarrollada como proyecto final para la materia Taller de Integración.
Está enfocado en la gestión interna de un negocio de informática (ByteCenter). Permite administrar ventas, servicios, clientes, generar reportes y mucho más.


# Arquitectura

El sistema sigue un patrón MVC, implementado mediante un Front Controller (index.php) que gestiona las rutas a través de un parámetro (opt).

* Controladores: gestionan la lógica de negocio y el flujo de la aplicación mediante switch, utilizando opt como parámetro.
* Modelos: se encargan del acceso a datos utilizando PDO.
* Vistas: renderizan la interfaz utilizando PHP y HTML.

Además, se utiliza un archivo page.php como plantilla base, encargado de ensamblar la vista completa a partir del contenido generado por los controladores.


# Tecnologías y Lenguajes

* PHP
* JavaScript
* HTML
* CSS
* PostgreSQL
* Apache
* Docker

* Utiliza librerías como phpmailer, dompdf, bootstrap, chartjs, datatables, fontawesome y jquery.


# Instalación

    1. Clonar el repositorio:

        git clone <https://github.com/AxelAxt/ByteCenter-App>
        cd ByteCenter-App

    2. Crear el archivo .env con las variables de entorno necesarias (ver .env.example)

    3. Levantar el entorno:

        docker-compose up -d

    4. Importar base de datos :

        1. Configurar INSERT de tablas en archivo database.sql (línea 894 en adelante)

        2. Ejecutar los siguientes comandos (modificar según variables de entorno):

        docker cp database.sql bytecenter_db:/database.sql
        docker exec -e PGPASSWORD= (contrasenia) -it bytecenter_db psql -U (usuario) -d (name bd) -f /database.sql

    5. Acceder desde el navegador:

        http://localhost:8080


# DESARROLLADO POR: Axel Axt
# AÑO: 2026