<p align="center">
    <a href="https://uosolutions.com" target="_blank">
    <img src="https://uosolutions.com/img/logo_white.png" width="400" alt="UO Solutions Logo">
    </a>
</p>

<p align="center">
    Entorno virtual DEV: 
    <br />
    <a href="http://uonew-backend.devuocloud.com/">
        <img src="https://uosolutions.com/img/logo_white_simple.png" width="25">
    </a>
</p>

## About this Project

Este es el repositorio oficial para el nuevo sitio de UO Solutions. El mismo almacena el código del Back-End y Front-end de la aplicación.
En este documento encontrará información para su instalación y despliegue.

## Technologies

### Back-End:
 - PHP 8.1
 - MySQL 5
 - Composer
 - Laravel 9.1

### Front-End
 - Node.JS / NPM
 - ReactJS
 - NextJS
 - Sass

## Pasos de instalación

El proyecto puede hostearse de manera integra en local, inicializando de manera instantanea el Back-End como el Front-End, realizando la comunicación 
entre ambos entornos de manera local. También puede instalar los entornos de forma independiente y trabajar solo con una de las dos aplicaciones.

### Back-End
 - Clonar el repositorio con `git clone {url}`
 - Instalar dependencias con `composer install`
 - Duplicar el archivo .env.example y renombrar a `.env`
 - Generar un hash para el proyecto con el comando `php artisan key:generate`. Solo utilizar una vez.
 - Crear una nueva base de datos en MySQL/PHPMyAdmin. Copiar el nombre.
 - Pegar el nombre de la base de datos en el archivo .env, como valor de la clave `DB_DATABASE`
 - Ejecutar el comando `php artisan migrate:refresh --seed` para generar las tablas en la base de datos y datos de prueba

En este punto, ya puede iniciar la aplicación, con el comando `php artisan serve`, lo cual generará un entorno de desarrollo, y podrá acceder a la aplicacion en el 
navegador dentro de la ruta `localhost:8000`.

### Front-End
 - Con el repositorio clonado, ingresar por terminal a la carpeta `frontend`
 - Ejecutar el comando `npm install`
 - Generar un archivo `.env`
 - Colocar en su interior la clave `NEXT_PUBLIC_API_URI_PREFX=`

En este punto puede conectar el Front-End al BackEnd de su entorno local (Si ha realizado los pasos para instalar el BackEnd anterior), o conectarlo con el Back-End remoto.

Para conectarse al Back-End local, levantar la aplicacion con el comando `php artisan serve`, dentro de la raiz del proyecto, 
y luego colocar como valor del `.env` del Front-End de esta manera: `NEXT_PUBLIC_API_URI_PREFX=http://127.0.0.1:8000/`

Si desea conectarse al server remoto, utilice este valor: `NEXT_PUBLIC_API_URI_PREFX=http://uonew-backend.devuocloud.com/`

Ya puede iniciar la aplicacion del front con el comando `npm run dev`.

