Mostrando entradas con la etiqueta NodeJS. Mostrar todas las entradas
Mostrando entradas con la etiqueta NodeJS. Mostrar todas las entradas

miércoles, 20 de mayo de 2026

[NodeJS + VueJS] StreamCat

StreamCat es una aplicación SaaS full-stack dedicada al streaming de audio. El proyecto está estructurado de forma independiente en tres repositorios: documentación general, API backend y cliente frontend.

Stack Tecnológico

  • Backend: Node.js, Express, Prisma ORM.

  • Base de datos: PostgreSQL.

  • Frontend: Vue 3, Vite, Tailwind CSS, Pinia.

  • Servicios externos: Cloudinary (gestión de imágenes) y Resend (correos transaccionales).

Funcionalidades Principales

  • Autenticación y Roles: Registro, login con JWT, verificación por correo y recuperación de contraseña. Roles diferenciados para usuarios (USER) y administradores (ADMIN).

  • Reproductor de Audio: Navegación entre tracks, control de volumen, modos shuffle y repeat, junto con un visualizador de audio.

  • Gestión de Contenido (CRUD): Control de streams (creación, edición y borrado), administración global de géneros y subida de portadas mediante Cloudinary.

  • Filtros y Paginación: Buscador por nombre y filtrado por género musical con paginación procesada en el servidor.

  • Perfil: Modificación de datos de usuario, avatar y cambio de contraseña con cierre de sesión automático por seguridad.

  • Interfaz: Soporte nativo para modo claro y modo oscuro con persistencia.

Capturas de pantalla

 









 

Repositorios y Código Fuente

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

 

domingo, 27 de agosto de 2023

Gestor de libros en NodeJS

Este proyecto se encarga de organizar libros mediante tipo y género, se pueden editar y borrar los mismos, además también ofrece estadísticas con gráficos sobre cuanto libros tenemos por tipo y categoría. Usa NodeJS como Backend y ReactJS 18 como Frontend, como base de datos usa MySQL.

Unas imágenes : 








Github

sábado, 22 de abril de 2023

PorHacer

 Es una aplicación hecha en Django como Rest API y Vue.js en CDN para guardar tareas, la aplicación incorpora una función para enviar las tareas pendientes por telegram.

Para configurar el envió del mensaje por telegram tienen que editar el archivo views.py de la carpeta api en las líneas 86 y 87.

Una imagen : 



Github

Convertir página en PDF en NodeJS

 Es una aplicación hecha en NodeJS para convertir cualquier pagina en un PDF.

Unas imágenes : 



Github

Aplicación de guardar notas en NodeJS

Es una aplicación hecha en NodeJS con SQLite como base de datos para guardar notas, tiene varios formatos para el texto.

Una imagen : 


Github

[Python] Quiet Stream

Aplicación TUI (Terminal User Interface) para gestionar y reproducir streams de audio y videos, construida con Textual, SQLModel, SQLite, py...