1. BookStore API Rest

Haz clic aquí para acceder al repositorio.

Bienvenido a la API REST de NULLERS BOOKS, una tienda de libros en línea que te permite realizar diversas operaciones, como consultar libros, gestionar usuarios, administrar tiendas y realizar orders. Nuestra API está diseñada para ser segura, eficiente y escalable, proporcionando una interfaz robusta para interactuar con la plataforma de comercio de libros. 





Configuración

  1. Cambiar el nombre del archivo .env.example a .env
  2. DEVELOP_MODE=true para activar el modo de desarrollo, DEVELOP_MODE=false para desactivar el modo de desarrollo. Esto es importante, pues en modo desarrollo la API está activada para poder ser testeada con Postman, pero en modo producción, la API está desactivada para evitar que se realicen cambios en la base de datos. Es importante que en modo de producción se deshabilite, o cualquiera podrá hacer cambios.

Para empezar, debes de ejecutar este comando para levantar sail

./vendor/bin/sail up -d
  1. Ejecutar Docker: docker-compose up -d
  2. Ejecutar las migraciones: docker exec laravel-rest-funkos-laravel.test-1 php artisan migrate
  3. Ejecutar los seeders: docker exec laravel-rest-funkos-laravel.test-1 php artisan db:seed
  4. Ejecutar el comando npm run dev para compilar los archivos de JavaScript y CSS.

Deberás reemplazar el nombre del contenedor de Docker laravel-rest-funkos-laravel.test-1 por el nombre que haya asignado Docker. Si lo prefieres, puedes realizar todos los pasos anteriores en un solo comando:

CONTAINER_NAME="laravel-rest-bookstore-laravel.test-1" && sudo docker-compose up -d && sleep 1 && while ! sudo docker exec $CONTAINER_NAME php artisan migrate; do sleep 2; done && sudo docker exec $CONTAINER_NAME php artisan db:seed && echo "Migración exitosa. El servicio está iniciado." && npm run dev

Solo deberás cambiar el CONTAINER_NAME por el nombre del contenedor que te genera Docker y ya podrás ejecutar de una pasada todos los comandos anteriores.

Para eliminar el contenedor, junto con sus datos, puedes ejecutar el siguiente comando:

docker-compose down -v --remove-orphans

Ambos comandos comentados pueden ser utilizados para iniciar y detener el contenedor de Docker. Es importante entender que cada vez que ejecutes el comando de docker-compose down -v --remove-orphans se van a eliminar todos los datos de la base de datos. Solo se debería de utilizar en modo desarrollo, nunca en modo producción. ⚠️

📁❗ Ahora, para que funcione el storage deberás de crear el enlace a storage (EN EL CONTENEDOR DE DOCKER laravel-rest-funkos-laravel.test-1) Si no lo ejecutas en el contenedor, no se creará correctamente el enlace simbólico:

php artisan storage:link

Por último, si te da fallos de permisos, ejecuta esto para cambiar los permisos de storage:

sudo chmod -R a+rw storage 

Estructura del Proyecto

  • Controllers: Manejan las solicitudes HTTP y devuelven las respuestas correspondientes.
  • app: Contiene la lógica de negocio, como modelos y controladores.
  • bootstrap: Archivos de inicio de la aplicación.
  • config: Configuración de la aplicación.
  • database: Archivos de base de datos, como migraciones y seeders.
  • public: Punto de entrada de la aplicación y archivos estáticos.
  • resources: Recursos de la aplicación, como vistas y assets.
  • routes: Definiciones de rutas de la aplicación.
  • storage: Archivos generados por la aplicación.
  • tests: Archivos de pruebas de la aplicación.
  • vendor: Dependencias del proyecto gestionadas por Composer.

Autores

Haz clic aquí para acceder al repositorio. 

2. Funkos API Rest 

API REST de Funkos en Laravel.

 Haz clic aquí para acceder al repositorio.


Configuración

  1. Cambiar el nombre del archivo .env.example a .env
  2. DEVELOP_MODE=true para activar el modo de desarrollo, DEVELOP_MODE=false para desactivar el modo de desarrollo. Esto es importante, pues en modo desarrollo la API está activada para poder ser testeada con Postman, pero en modo producción, la API está desactivada para evitar que se realicen cambios en la base de datos. Es importante que en modo de producción se deshabilite, o cualquiera podrá hacer cambios.

Instrucciones

Para empezar, debes de ejecutar este comando para levantar sail

sudo ./vendor/bin/sail up
  1. Ejecutar Docker: docker-compose up -d
  2. Ejecutar las migraciones: docker exec laravel-rest-funkos-laravel.test-1 php artisan migrate
  3. Ejecutar los seeders: docker exec laravel-rest-funkos-laravel.test-1 php artisan db:seed
  4. Ejecutar el comando npm run dev para compilar los archivos de JavaScript y CSS.

Deberás reemplazar el nombre del contenedor de Docker laravel-rest-funkos-laravel.test-1 por el nombre que haya asignado Docker. Si lo prefieres, puedes realizar todos los pasos anteriores en un solo comando:

CONTAINER_NAME="laravel-rest-bookstore-laravel.test-1" && sudo docker-compose up -d && sleep 1 && while ! sudo docker exec $CONTAINER_NAME php artisan migrate; do sleep 2; done && sudo docker exec $CONTAINER_NAME php artisan db:seed && echo "Migración exitosa. El servicio está iniciado." && npm run dev

Solo deberás cambiar el CONTAINER_NAME por el nombre del contenedor que te genera Docker y ya podrás ejecutar de una pasada todos los comandos anteriores.

Para eliminar el contenedor, junto con sus datos, puedes ejecutar el siguiente comando:

docker-compose down -v --remove-orphans

Ambos comandos comentados pueden ser utilizados para iniciar y detener el contenedor de Docker. Es importante entender que cada vez que ejecutes el comando de docker-compose down -v --remove-orphans se van a eliminar todos los datos de la base de datos. Solo se debería de utilizar en modo desarrollo, nunca en modo producción. ⚠️

📁❗ Ahora, para que funcione el storage deberás de crear el enlace a storage (EN EL CONTENEDOR DE DOCKER laravel-rest-funkos-laravel.test-1) Si no lo ejecutas en el contenedor, no se creará correctamente el enlace simbólico:

php artisan storage:link

Por último, si te da fallos de permisos, ejecuta esto para cambiar los permisos de storage:

sudo chmod -R a+rw storage

Postman

🚀 Archivo de colección de pruebas Postman en este repositorio:

📕 Laravel Funkos.postman_collection.json

 Haz clic aquí para acceder al repositorio.