miércoles, 3 de septiembre de 2025

[Laravel + ReactJS] Agenda Fénix

Este proyecto es una agenda full-stack que usa Laravel para el backend y ReactJS con Vite, Material UI y Redux para el frontend, con MySQL como base de datos.

## Funcionalidades principales

- Autenticación: Inicio de sesión obligatorio con JWT, con opción de cambiar usuario y contraseña.

- Personalización: Permite cambiar el tema a modo claro u oscuro.

- Gestión de categorías: Se pueden agregar, editar y eliminar categorías.

- Gestión de notas: Las notas se pueden agregar, editar y eliminar. Su contenido, creado con el editor Tiptap, está protegido con AES-128-ECB. Las notas pueden tener imágenes, múltiples categorías y una fecha de expiración.

- Filtros: Ambas secciones, notas y categorías, cuentan con filtros persistentes para una mejor navegación.

- Visualización: La página principal lista las notas fijadas. Incluye un gráfico con las tres categorías más usadas.

## Capturas de pantalla

A continuación, se muestran algunas imágenes del sistema en funcionamiento:








## Instalación del proyecto

### Backend (Laravel)

Se necesitan seguir estos pasos para configurar la API de Laravel ubicada en la carpeta sistema-api.

1. Configuración inicial

Copia y configura el archivo de entorno: Renombra el archivo .env.example a .env y ábrelo para editarlo.

Ajusta las variables de entorno: Dentro del archivo .env, configura los siguientes parámetros con tu información:

Conexión a la base de datos: Introduce las credenciales de tu base de datos MySQL.

Claves de seguridad: Define el SECRET_KEY para la generación de tokens JWT y el ENCRYPT_KEY para la encriptación AES-128-ECB.

2. Ejecución de comandos

Abre la terminal en la carpeta sistema-api y ejecuta los siguientes comandos en orden:

Instala las dependencias:

composer install

Genera la clave de la aplicación:

php artisan key:generate

Ejecuta las migraciones de la base de datos:

php artisan migrate

Siembra los datos iniciales:

php artisan db:seed --class=DatabaseSeeder

Crea un enlace simbólico para el almacenamiento:

php artisan storage:link

3. Iniciar el servidor

Para iniciar el servidor del backend, ejecuta este comando:

php artisan serve --port=7777

### Frontend (React.js)

Se necesitan seguir estos pasos para configurar el frontend ubicado en la carpeta sistema-frontend.

1. Configuración inicial

Copia y configura el archivo de entorno: Renombra el archivo .env.example a .env.

Ajusta la URL de la API: Dentro del archivo .env, edita el parámetro para que apunte a la URL donde se está ejecutando tu backend. Por defecto, será la URL del servidor que acabas de iniciar.

2. Iniciar el servidor

Instala las dependencias: Abre la terminal en la carpeta sistema-frontend y ejecuta este comando:

npm install

Inicia el servidor de desarrollo:

npm run dev

### Iniciar los servidores

Se necesitan seguir estos pasos para arrancar tanto el servidor de la API de Laravel como el de la aplicación de React.

1. Iniciar el Backend (Laravel)

Abre una terminal, navega hasta la carpeta sistema-api y ejecuta el siguiente comando:

php artisan serve --port=7771

Este comando iniciará el servidor de desarrollo de Laravel en el puerto 7771.

2. Iniciar el Frontend

Abre una nueva terminal, navega hasta la carpeta sistema-frontend y ejecuta este comando:

npm run dev

Este comando arrancará la aplicación de React en modo de desarrollo, la cual se conectará al backend que acabas de iniciar.

### Pruebas unitarias

Este proyecto incluye pruebas unitarias tanto para el backend como para el frontend. Se necesitan seguir las siguientes instrucciones para ejecutarlas.

1. Pruebas del Backend (Laravel)

El entorno de pruebas del backend usa su propio archivo .env para evitar cualquier alteración de tu base de datos de desarrollo.

Configura el archivo .env.testing: En la raíz del proyecto, renombra el archivo .env.testing.example a .env.testing. Luego, abre el archivo y edita los campos de la base de datos (DB_DATABASE, DB_USERNAME, DB_PASSWORD) para que apunten a una base de datos de pruebas dedicada.

Ejecuta las pruebas: Abre la terminal en el directorio sistema-api y usa el siguiente comando. Laravel se encargará de migrar la base de datos de pruebas automáticamente.

php artisan test

2. Pruebas del Frontend

Para ejecutar las pruebas del frontend, solo necesitas un comando.

Ejecuta las pruebas: Abre la terminal en el directorio sistema-frontend y usa este comando:

npm run test

Este comando ejecutará todas las pruebas configuradas para el frontend.

### Uso con Docker

Para poner en marcha el backend de Laravel y el frontend de React con Docker, se necesitan seguir estos pasos:

1. Configuración inicial

Copia el archivo de entorno: En la raíz de tu proyecto, renombra el archivo .env.example a .env. Este archivo se usará para configurar las variables de entorno de tus contenedores.

Ajusta las variables de entorno: Abre el archivo .env y asegúrate de que los siguientes valores estén configurados correctamente:

Variables de MySQL: MYSQL_ROOT_PASSWORD, MYSQL_DATABASE, MYSQL_USER y MYSQL_PASSWORD.

Clave de encriptación: ENCRYPT_KEY.

URLs del Frontend: VITE_API_URL y VITE_IMAGES_URL.

2. Levantar los servicios

Desde la raíz del proyecto, ejecuta el siguiente comando para construir y levantar todos los servicios en segundo plano:

docker compose up -d --build

3. Acceder a las aplicaciones

Una vez que los contenedores estén activos, se pueden acceder a los servicios en las siguientes URLs:


Backend (Laravel): http://localhost:7771
Frontend (React): http://localhost:9991
phpMyAdmin: http://localhost:8080

 Github 


viernes, 18 de julio de 2025

[Python + Textual] Quiet Stream

Esta es una aplicación de Interfaz de Usuario de Terminal (TUI) diseñada para ayudar a gestionar y reproducir tus streams y videos favoritos. Construida con Textual, SQLModel, SQLite y python-vlc, ofrece una forma sencilla y potente de interactuar con tu contenido multimedia directamente desde tu terminal.

## Funciones principales : 

- Gestión de streams y videos: Agrega, edita y elimina tus entradas de streams y videos.

- Reproducción integrada: Reproduce streams de audio y videos de plataformas como YouTube directamente en la terminal.

- Control de Reproducción: Controles para reproducir, pausar, detener, avanzar y retroceder entre tus contenidos.

- Categorización flexible: Organiza tu contenido asignándole una o varias categorías.

- Interfaz de Usuario Intuitiva: Navega y gestiona tu contenido con una interfaz limpia y amigable basada en Textual.

- Persistencia de Datos: Tus datos se guardan de forma segura en una base de datos SQLite local.

## Capturas de pantalla

A continuación, se muestran algunas imágenes del programa en funcionamiento:





## Instalación

Se necesitan seguir estos pasos para poner en marcha Quiet Stream en tu sistema:

1. Requisitos Previos

Python 3.8+
VLC Media Player: Necesitas tener VLC instalado en tu sistema, ya que python-vlc actúa como una interfaz para él. Puedes descargarlo directamente desde https://www.videolan.org/vlc/.

2. Clona el repositorio:


git clone https://github.com/IsmaelHeredia/quiet-stream-python.git

cd quiet-stream-python


3. Instala las dependencias:

pip install -r requirements.txt

4. Inicializa la base de datos:

El archivo streams.db y las tablas necesarias se crearán automáticamente la primera vez que inicies la aplicación.

5. Ejecución

Para iniciar la aplicación, ejecuta el siguiente comando en tu terminal:

python main.py


jueves, 10 de julio de 2025

[Laravel + NextJS] Epic Tasks

Este proyecto es un sistema avanzado de gestión de tareas, construido con Symfony para el backend, Next.js (integrado con Material UI) para el frontend, y una base de datos MySQL.
 

## Funcionalidades principales

- Autenticación segura: Autenticación obligatoria basada en JWT con opciones para actualizar el perfil del usuario (nombre de usuario, contraseña y foto de perfil).

- Tema dinámico: Cambia sin problemas entre el modo claro y oscuro.

- Gestión integral de categorías: Operaciones CRUD completas (Crear, Leer, Actualizar, Eliminar) para categorías.

- Gestión avanzada de tareas:

    - Operaciones CRUD completas para tareas.

    - Las tareas se pueden organizar por prioridad, estado y categoría.

    - Subtareas: Cada tarea puede incluir subtareas con sus propios campos y una función de búsqueda por nombre.

    - Reordenamiento: Reordena fácilmente las tareas para priorizarlas.

    - Búsqueda y paginación: Busca tareas de manera eficiente por nombre y categoría desde la página principal, respaldado por un sólido sistema de paginación. Redux se utiliza para mantener los filtros de búsqueda mientras navegas por la aplicación.

- Estadísticas Visuales: Visualiza la distribución de tareas por categoría a través de gráficos interactivos.

## Capturas de pantalla

A continuación, se muestran algunas imágenes del sistema en funcionamiento:






 ## Instalación del proyecto

### Backend (Symfony)


Sigue estos pasos para configurar el backend de Symfony:

1. Configuración del entorno:

- Renombra el archivo .env.example a .env.

- Configura los parámetros de conexión a tu base de datos MySQL dentro del archivo .env.

2. Instalación de dependencias:

- Ejecuta el siguiente comando para instalar todas las dependencias del proyecto:

composer install

3. Generación de APP_SECRET:

- Genera una clave secreta y actualiza la variable APP_SECRET en tu archivo .env. Esta clave es crucial para la seguridad de tu aplicación.

php -r "echo bin2hex(random_bytes(32));"

- Copia el valor generado y pégalo en la línea APP_SECRET= de tu archivo .env.

4. Configuración de la base de datos:

- Crea las migraciones de la base de datos :

php bin/console make:migration

- Ejecuta las migraciones para crear las tablas en tu base de datos :

php bin/console doctrine:migrations:migrate

- Carga los datos iniciales (fixtures) en la base de datos :

php bin/console doctrine:fixtures:load --append

5. Generación de claves JWT:

Las claves JWT son esenciales para la autenticación segura en la aplicación.

- Primero crea el directorio para las claves:

mkdir -p config/jwt

- Generar la clave privada

Después, crea tu clave privada (private.pem). Se te pedirá que definas una passphrase segura, la cual usarás más adelante para descifrar esta clave.

openssl genrsa -out config/jwt/private.pem -aes256 4096

- Generar la clave pública

A continuación, genera la clave pública (public.pem) a partir de la clave privada que acabas de crear:

openssl rsa -pubout -in config/jwt/private.pem -out config/jwt/public.pem

- Configurar variables de entorno

Asegúrate de que tu archivo de configuración de entorno .env, contenga la siguiente variable:

JWT_PASSPHRASE="tu_passphrase_segura" 

Importante: La JWT_PASSPHRASE en tu archivo .env debe ser exactamente la misma contraseña que definiste al generar tu clave privada.

- Finalmente los permisos de los archivos: Esto es crucial para la seguridad.

chmod 600 config/jwt/private.pem
chmod 644 config/jwt/public.pem

---

### Frontend (Next.js)

Sigue estos pasos para configurar el frontend de Next.js:

- Renombra el archivo .env.example a .env en el directorio raíz del proyecto frontend.

- Edita el archivo .env y configura las siguientes variables de entorno según tu configuración:

NEXT_PUBLIC_BACKEND_URL=http://localhost:8000 # URL de tu backend Symfony
NEXTAUTH_SECRET=supersecreto123 # Una cadena secreta larga y aleatoria para NextAuth
NEXT_PUBLIC_TIMEOUT_TOAST=4000
NEXT_PUBLIC_TIMEOUT_REDIRECT=5000

- Cambia NEXTAUTH_SECRET por una cadena de caracteres larga, compleja y aleatoria para la seguridad de la autenticación.

Instalación de dependencias:

- Abre tu terminal en el directorio raíz del proyecto frontend.

- Ejecuta el siguiente comando para instalar todas las dependencias de Node.js:

npm install

---

### Iniciar la aplicación

Para poner en marcha la aplicación completa, asegúrate de que tanto el backend de Symfony como el frontend de Next.js estén configurados correctamente siguiendo las instrucciones de instalación respectivas.

1. Iniciar el backend (Symfony):

- Abre una nueva terminal.

- Navega hasta el directorio raíz de tu proyecto Symfony.

- Ejecuta el siguiente comando para iniciar el servidor de desarrollo de Symfony:

symfony serve

2. Iniciar el frontend (Next.js):

- Abre otra nueva terminal (manteniendo la del backend abierta).

- Navega hasta el directorio raíz de tu proyecto Next.js.

Ejecuta el siguiente comando para iniciar el servidor de desarrollo de Next.js:

npm run dev

Una vez que ambos servidores estén en funcionamiento, la aplicación completa estará accesible a través de la URL del frontend (http://localhost:3000).

---

## Pruebas unitarias

Para ejecutar las pruebas unitarias del backend de Symfony, sigue estos pasos:

- Configuración del entorno de pruebas:

1. Renombra el archivo .env.test.example a .env.test en el directorio raíz de tu proyecto Symfony.

2. Edita el archivo .env.test y configura la variable DATABASE_URL para que apunte a una base de datos de pruebas. Es crucial que esta configuración utilice la misma conexión que tu base de datos de desarrollo, ya que PHPUnit, al ser parte del ecosistema Symfony, generará automáticamente una base de datos con el sufijo _test (por ejemplo, si tu base de datos de desarrollo se llama mi_app_db, la de pruebas será mi_app_db_test). Esto asegura que no haya pérdida de datos en tu base de datos de desarrollo.

- Preparación de la base de datos de pruebas:

1. Crea la base de datos de pruebas especificada en DATABASE_URL de tu archivo .env.test:

php bin/console doctrine:database:create --env=test

2. Ejecuta las migraciones en el entorno de pruebas para asegurar que el esquema de la base de datos esté actualizado para las pruebas:

php bin/console doctrine:migrations:migrate --env=test --no-interaction


- Ejecutar las pruebas:

Una vez que la base de datos de pruebas esté configurada, puedes ejecutar todas las pruebas unitarias del proyecto con el siguiente comando:

php bin/phpunit --testdox

### Uso con Docker

Para poner en marcha los servicios de Symfony y Next.js usando Docker, se deben seguir los siguientes pasos:

- Configuración del entorno:

1. Renombra el archivo .env.example ubicado en la raíz del proyecto a .env.

2. Generación de clave secreta: Abre el archivo .env y genera una nueva clave para la variable APP_SECRET. Se debe usar el siguiente comando para generar una clave segura:

php -r "echo bin2hex(random_bytes(32));"

Pega la clave generada como valor de APP_SECRET en tu archivo .env.

3. Iniciar servicios: Ejecuta el siguiente comando en tu terminal desde la raíz del proyecto para construir y levantar todos los servicios configurados:

docker compose up -d --build

Una vez que los servicios estén activos, se podrán acceder desde las siguientes URLs:

Backend Symfony: http://localhost:9090

phpMyAdmin: http://localhost:8080

Frontend Next.js: http://localhost:3000

Github 





jueves, 22 de mayo de 2025

[Laravel + VueJS] Wallpaper Manager

Este proyecto es un sistema de gestión de wallpapers desarrollado con Laravel en el backend y VueJS (integrado con Vuetify) en el frontend. Utiliza una base de datos MySQL.

Funcionalidades principales

- Autenticación obligatoria mediante OAuth2 (Laravel Passport).
- Posibilidad de cambiar usuario y contraseña.
- Cambio dinámico de tema (modo claro/oscuro).
- Gestión completa de wallpapers: agregar, editar y eliminar.
- Organización de wallpapers por horarios y estaciones del año.
- Búsqueda de wallpapers por nombre, horarios y estaciones desde la página principal.
  - Se utiliza Pinia para conservar los filtros de búsqueda mientras se navega por la aplicación.
- Visualización de gráficos estadísticos que muestran la cantidad de wallpapers por horario y por estación.

Capturas de pantalla

A continuación, se muestran algunas imágenes del sistema en funcionamiento:








Instalación del proyecto

Backend (Laravel)

1. Renombrar el archivo .env.example a .env.
2. Configurar la conexión a la base de datos MySQL en el archivo .env.
3. Ejecutar los siguientes comandos:

composer install

php artisan key:generate

php artisan migrate

php artisan passport:keys --force

php artisan passport:client --password


> ⚠️ Al ejecutar el comando anterior, se te proporcionará el client id y client secret. Copia estos valores y colócalos en el archivo .env en las variables PASSPORT_CLIENT_ID y PASSPORT_CLIENT_SECRET.

php artisan db:seed --class=DatabaseSeeder

php artisan storage:link

 

Frontend (VueJS)

Para instalar las dependencias del frontend, ejecuta:

npm install

Iniciar la aplicación

Para levantar la aplicación en modo desarrollo, ejecuta:

php artisan serve --port=9090

npm run dev

Pruebas unitarias

Este proyecto incluye pruebas unitarias para verificar el correcto funcionamiento de los endpoints de Laravel.

1. Renombrar el archivo .env.testing.example a .env.testing.
2. Configurar la conexión a la base de datos de pruebas y generar un APP_KEY con el siguiente comando:

php -r "echo 'base64:'.base64_encode(random_bytes(32)).\"\n\";"

3. Ejecutar las pruebas:

php artisan test

Deberías recibir un resultado similar a:

  PASS  Tests\Feature\ApiEndpointsTest
✓ el usuario puede iniciar sesion                                                                                                              1.60s  
✓ el usuario autenticado puede validarse                                                                                                       0.10s  
✓ el usuario puede actualizar su perfil                                                                                                        0.11s  
✓ se pueden listar las estaciones                                                                                                              0.10s  
✓ se puede cargar una estacion                                                                                                                 0.09s  
✓ se pueden listar los horarios                                                                                                                0.10s  
✓ se puede cargar un horario                                                                                                                   0.09s  
✓ se pueden listar los wallpapers                                                                                                              0.12s  
✓ se puede cargar un wallpaper                                                                                                                 0.10s  
✓ se puede crear un wallpaper                                                                                                                  0.13s  
✓ se puede actualizar un wallpaper                                                                                                             0.11s  
✓ se puede eliminar un wallpaper                                                                                                               0.11s  
✓ las estadisticas devuelve datos correctos                                                                                                        0.10s  

Tests:    13 passed (84 assertions)
Duration: 2.94s
 

Uso con Docker

1. Renombrar el archivo .env.docker.example a .env.docker que esta en la carpeta docker.
2. Configurar los datos de conexión a la base de datos (excepto DB_HOST, que ya viene predefinido).
3. Ejecutar los siguientes comandos para la instalación y configuración en entorno Docker:

docker compose up -d --build

4. Acceder al contenedor para ejecutar los comandos de configuración:

docker exec -it wallpapers_laravel bash

5. Ejecutar las migraciones y sembrado de la base de datos:

php artisan migrate --seed


6. Crear el cliente de Passport para password grant:

php artisan passport:client --password

> ⚠️ Al igual que en la instalación normal, copia el client id y client secret generados y colócalos en las variables PASSPORT_CLIENT_ID y PASSPORT_CLIENT_SECRET del archivo docker/.env.docker.

Script de automatización (Go)

El proyecto incluye un script escrito en Go, ubicado en la carpeta scripts, que permite automatizar la selección y cambio del wallpaper en función de la hora del día y la estación del año.

¿Qué hace este script?

- Realiza login en el sistema usando la API (/api/v1/ingreso).
- Descarga la lista de wallpapers disponibles desde /api/v1/wallpapers.
- Filtra los wallpapers según:
  - La estación actual (verano, otoño, invierno, primavera).
  - El momento del día (mañana, tarde, noche, madrugada).
- Selecciona uno al azar entre los que cumplen con ese criterio.
- Lo descarga a la carpeta downloads/ y lo establece como fondo de pantalla.
  - Funciona tanto en Linux (GNOME) como en Windows.
- Repite el proceso cada 1 hora (en el código actual: cada 20 segundos para pruebas).
 

Ejecución

Para ejecutar el script:

cd scripts
go run wallpaper.go

Github

viernes, 28 de febrero de 2025

[Python + Tkinter] Fast Music 1.0

En este proyecto se hizo un completo reproductor de música en Python usando ttkbootstrap para la interfaz gráfica, usa Sqlalchemy para trabajar con una base de datos Sqlite que gestiona la configuración y manejo de multimedia del programa.

Las funciones incorporadas son :

* Reproducción de música, videos y streams.
* Sincronización de toda la muisca usando Google Drive.
* Se pueden descargar uno o varios videos de youtube para convertir en MP3 o MP4 según se necesite.
* Permite descargar playlists completas de youtube y convertir en música o videos.
* El reproductor registra en la base de datos las ultimas playlists seleccionadas para cargarlas siempre al inicio de la aplicación.  

A continuación se muestran unas imágenes del programa en funcionamiento.

 






 

Para instalar las dependencias se necesita ejecutar el siguiente comando :

pip install -r requirements.txt

Ademas se tienen que crear las credenciales para el servicio "Google Drive API" en la URL https://console.cloud.google.com, una vez creado todo se descargan las credenciales y se guardan en el mismo directorio del programa con el nombre de client_secrets.json.

Una vez configurado todo, se puede ejecutar la aplicación app.py para iniciar el programa, cuando se inicie se debe cargar la ventana "Configuración" y configurar todos los directorios que se necesitan para escanear las canciones y videos, también es necesario especificar el directorio donde están guardadas las canciones en Google Drive y se deben configurar los directorios donde se van almacenar las canciones descargadas. Cuando todos esos datos estén configurados se podrá iniciar el escáner desde ese misma ventana y reproducir cualquier archivo multimedia que se necesite.

 

 Github

jueves, 5 de diciembre de 2024

[NodeJS + VueJS] Registro de series 1.0

En este proyecto se hizo un sistema para registrar series y todos los datos necesarios para poder organizarlas, esta hecho en NodeJS con Sequelize y VueJS con Vuetify. Permite usar como base de datos MySQL y PostgreSQL.

Las funciones incorporadas son :

Inicio de sesión obligatorio para usar el sistema protegido con JWT.

Rutas protegidas para poder acceder al dashboard.

Posibilidad de cambiar usuario y contraseña.

Posibilidad de cambiar el theme completo del sistema a un modo oscuro o claro.

Se pueden agregar, editar y borrar géneros. En esta misma sección se usa Pinia para poder filtrar por nombre en el buscador y poder recordar el filtro al cambiar de página.

Se pueden agregar, editar y borrar series. En esta misma sección se usa Pinia para poder filtrar por nombre, géneros y estados.

A continuación se muestran unas imágenes del sistema en funcionamiento.








Para la correcta instalación del sistema se deben seguir los siguiente pasos.

Desde la carpeta "backend", se debe renombrar el archivo .env.example a solo .env y editar la configuración con los datos de tu conexión a la base de datos. En el caso de la variable "DB_CONNECTION" se puede elegir entre "mysql" y "postgres" dependiendo de que motor se desee usar.

Una vez editado el archivo .env se deben ejecutar los siguiente comandos :

npm install

sequelize db:migrate

sequelize db:seed:all


Finalmente para iniciar el servidor se debe ejecutar este comando :

npm run start

Desde la carpeta "frontend", se debe renombrar el archivo .env.example a solo .env y editar las variables con el nombre de "VITE_API_URL" y "VITE_API_URL_IMAGES" por la URL correspondiente a su backend.

Una vez editado el archivo .env se deben ejecutar los siguiente comandos :

npm install

Finalmente para iniciar el servidor se debe ejecutar este comando :

npm run dev

 Github

 

jueves, 31 de octubre de 2024

[Flask] Quick Launcher 1.0

En este proyecto se hizo un sistema para lanzar procesos en segundo plano que usa Flask con Bootstrap 5, usando MySQL para gestionar los datos de la aplicación. Esta pensando para gestionar servidores y facilitar los manejos de los comandos de cada uno, ya sean de proyectos de Laravel, NodeJS, Angular, React o cualquier otro. También incluye una función para que ejecute en el navegador la URL del proceso ejecutado después de un tiempo de espera asignado en el sistema.

Las funciones incorporadas son :

Inicio de sesión obligatorio para usar el sistema protegido con JWT.

Posibilidad de cambiar usuario y contraseña.

Posibilidad de cambiar el theme completo del sistema a un modo oscuro o claro.

Se puede agregar, editar y borrar procesos. En la sección de procesos se pueden gestionar las tareas de cada proceso.

En la página principal se listan todas los procesos registrados donde se pueden ejecutar y detener las tareas de cada uno. También hay una sección de logs donde se muestran los procesos activos con sus PID asociados y se pueden cerrar por tarea o por proceso.

A continuación se muestran unas imágenes del sistema en funcionamiento.







 


Para la correcta instalación del sistema se deben seguir los siguiente pasos.

En la carpeta principal se debe renombrar el archivo .env.example a solo .env y editar la configuración con los datos de tu conexión MySQL, el SECRET_KEY que seria la clave para generar el JWT.

Para instalar la librería de conexión a MySQL en Linux el comando debería ser :

sudo apt-get install python3-pymysql

De lo contrario si están usando Windows seria :

pip install PyMySQL

Posteriormente debemos terminar de instalar las dependencias con el siguiente comando :

pip install -r requirements.txt

Para ejecutar Flask en Windows se debe hacer de la siguiente manera :

python -m flask

De lo contrario si están usando Linux bastaría con usar simplemente el comando flask, teniendo en cuenta esto para ejecutar las migraciones de Flask deben ejecutar los siguientes comandos :

flask db init

flask db migrate

flask db upgrade

flask seed


Finalmente para iniciar el sistema se debe ejecutar este comando :

flask --app main.py --debug run --port=8888

 

Github




[Laravel + ReactJS] Agenda Fénix

Este proyecto es una agenda full-stack que usa Laravel para el backend y ReactJS con Vite , Material UI y Redux para el frontend, con My...