Skip to content

mimateach/FabulousPhoto

Repository files navigation

Descripción

Fabulous Photo es una app creada con PHP Laravel + Blade para gestionar imágenes con las siguientes opciones: editar, eliminar, añadir a lista de favoritos y eliminar de la lista. La gestión de esta app está limitada en función del rol del usuario. Si el usuario se loguea como usuario común o crea su propio usuario podrá añadir las imágenes que quiera a la lista de favoritos, ver las que tiene en la lista y eliminar las que ya no desee tener en favoritos. Estas funciones también las tiene el usuario administrador. Como usuario administrador también podrá añadir imágenes nuevas, así como editar y eliminar las imágenes existentes. La aplicación es responsive, como se puede ver también en las previsualizaciones. Proyecto enteramente desaroollado en inglés, código y commits, a excepción del contenido visible en la aplicación, en castellano.

Requisitos funcionales

  • Como usuario será necesario poder ver una lista de mis imágenes (imagen y un título).
  • Como usuario será necesario poder añadir imágenes a una base de datos (con URL).
  • Como usuario será necesario poder eliminar una imagen.
  • Como usuario será necesario poder editar una imagen.

Requisitos técnicos

  • Tests (testeado el CRUD completo y la funcionalidad de vista detalle.
  • Buenas prácticas de desarrollo de softwar y SOLID.
  • Git y commits.

Extras

Usuarios En esta app se puede iniciar sesión con dos tipos de usuario diferente y visualizar opciones en función del rol de cada usuario. También se pueden registrar usuarios nuevos, solo con la capacidad de añadir o eliminar de favoritos. Vistas Además de una página de inicio donde se listan todas las fotos, se incluye una página de favoritos, y una vista de detalle. Añadida vista de detalle al hacer click en la foto, que nos lleva a una nueva vista en la que podemos ver la fotografía ampliada, con los detalles descritos y podemos añadir (o eliminar) a favoritos dicha imagen. Vistas de formularios: formularios de edición, creación, registro y login.

Explicación del diseño:

La app tiene varias vistas con diferentes opciones, se ha elegido un diseño sencillo para una aplicación básica, con una paleta de tres colores e iconos sencillos. Se ha creado un logotipo alineado con la idea de mantener la simplicidad. En todas las vistas podemos visualizar el logotipo y un icono para la gestión del usuario. Haciendo click en él se nos muestran dos opciones como desplegable: iniciar sesión o registrarse. Una vez iniciada la sesión no aparecerá el icono sino el nombre. Ahí tenemos también la opción de cerrar la sesión. En las vistas tenemos las siguientes opciones:

  • Vista Home o de inicio: tendremos a la vista las opciones de añadir foto, editar, eliminar y añadir a favoritos (o eliminarlo de favoritos si el elemento ya está en esa lista). Si no estamos logueados o nuestro usuario no tiene permisos nos redireccionará al formulario de login.
  • Vista de Favoritos: lista de imágenes que han sido añadidas. Opciones eliminar de favoritos y editar las imágenes.
  • Vista de Detalle: opciones de editar y añadir a favoritos (o eliminar si ya está en la lista).

¿Cómo ejecutar el proyecto en local?

Clona el proyecto:

  git clone https://github.com/mimateach/FabulousPhoto.git

Crea una base de datos local en phpMyAdmin con los siguientes datos: root, password: "". Nombre de la base de datos: FabPhoto Si creamos esa base de datos de cero tenemos que crear cuatro columnas: name, artist, location e img.

Una vez hecho esto y abierto el proyecto, crear un archivo .env en el que copiemos los datos del archivo .env.example, asegurándonos de que en las líneas 11 a 16 conste la siguiente información:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=FabPhoto
DB_USERNAME=root
DB_PASSWORD=

Entrar en el directorio del proyecto en la terminal y ejecutar el siguiente comando:
```bash
"php artisant migration:fresh --seed".

Esto actualizará nuestra base de datos. Tendremos que ejecutar este comando cada vez que realizamos cambios en la base de datos del proyecto.

Instalar las dependencias:

  composer update
  npm install

¿Cómo abrir el proyecto? Abrir los servidores Apache y MySQL (podemos usar XAMPP u otro programa similar):

En un terminal, abrir el proyecto con php:

  php artisan serve

En otro terminal, abrir el proyecto con node:

  npm run dev

Abrir desde el enlace generado con el comando php artisan serve

Cómo usarla

Para tener permiso para editar, añadir y eliminar eventos:

Iniciar sesión como administrador usuario: [email protected] contraseña: password

Para ver las opciones de usuario, iniciar sesión como usuario: usuario: [email protected] contraseña: password

Es posible registrarse con un usuario nuevo. Tendremos las funciones del usuario común (añadir/ver/eliminar favoritos).

Tests

Tests unitarios para: crud completo y vista detalle. Para ejecutar los tests podemos usar diferentes comandos:

  php artisan test

O bien:

  php artisan test --filter CrudTest

Previews:

Quick start

Npm run dev

PHP artisan serve

➕ Servidores abiertos ➕

php artisan migrate:fresh --seed

➕ Login

Author

Inma Chicón

License

The Laravel framework is open-sourced software licensed under the MIT license.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published