# Documentación SayaFit MVC
## Idea del Proyecto
Esta es la documentación dos del proyecto Sayafit donde ahora vamos a pasar el proyecto a mvc (Modelo, vista ,controlador). En el proyecto lo que haremos ahora sera ordenarlo y crearle rutas para su funcionamiento .
## Objetivo del Proyecto :
Este Proyecto tiene el objetivo es aprender a usar el **CRUD** (crear , leer , actualizar , eliminar), ademas de aprender a hacer una pagina web decente y con varias funcionalidades de las cuales comentare acontinuación.
## Ejecutar el Proyecto
Si solo quieres ejecutarlo veta a la consola de comandos de visual studio code (control+ñ) y escribe **cd public** y despues **php -S localhost:3000** , despues abrelo en **localhost:3000/** y se ejecutara.
## División del proyecto y funcionalidad:
Empecemos con el principio para tener un proyecto funcional necesitamos tenerlo todo bien divido y que este bien organizado, ya que este sera un modelo **MVC** donde las carpetas principales se dividiran en (models , views , controller).

### models
Primero empezaremos con la carpeta con la información mas importante las clases:

#### ActiveRecord.php
Estas clases son muy importante sobre todo la clase **ActiveRecord** esta es la clase que nos va ahorrar mucho trabajo si crearamos mas clases diferentes o tablas ya que se encarga de todas las **funcionalidades principales** del codigo , estas serían **crear** , **actualizar** , **borrar**. Que es haria referencia al **CRUD**:



#### Producto.php
En **Producto.php** tendremos que tener solo la llamada y decirle a **ActiveRecord** la tabla y los valores de la tabla para que los introduzca , borra o actualice . Ademas también se encargara de decirnos si hay algun error al introducir estos datos:


#### Admin.php:
En **En Admin.php** es el que se encargara del login y ademas de eso se encargara también de añadir nuevos usuarios(esta clase esta completamente documentada):


### views :
Esta carpeta solo guarda las paginas de cada uno de admin y paginas:

Para conseguir llegar a estas paginas tendremos que usar el **Router.php** Que es el encargado en la dirección de las paginas:

Para darle la funcinalidad ya que solo le decimos que vaya a views necesitamos que nos de una dirección a las clases y para eso esta el **index.php de public y el controller**.
### Public

En el public tenemos cosas normales como el css , el javascript , etc y por ultimo tenemos el **index.php** que es el encargado de la dirección de las routas y el nombramiento de estas, ademas estas las redirigen al controller , una de las partes mas **importantes** del codigo:

### controller

Controller es el encargado de decirnos que datos y funcionalidades del models , osea las clases va a funcionar en esa pagina ademas de eso nos va a decir la dirección concreta dentro de views donde esta la pagina sin necesidad que se muestre el nombre de la ruta a los usuarios solo veran el nombre que le hayas puesto a la pagina en **index.php**:

#### composer.json
Deberíamos añadir para el funcionamiento de la pagina **Model** , **MVC** y **Controllers**:

# FIN DEL PROYECTO