Red social de creación de listas donde se contienen elementos valorables.
- Los elementos y sus características asociadas son creados por los propios usuarios.
- Las listas públicas o privadas creadas por los usuarios pueden contener cualquier elemento.
- Las contenciones de elementos son valorables con 3 estados distintos y están asociadas a cada usuario.
- Los usuarios pueden modificar su información, agregar a otros usuarios, ver perfiles de usuarios agregados y reportar elementos con características erróneas y hacer listas colaborativas con amigos.
- Los administradores pueden modificar las características de los elementos en función de los reportes de los usuarios y suspender cuentas de usuario.
- Estadísticas son generadas en función de los elementos, las contenciones de elementos, los usuarios y los nombres de las listas.
- Las contraseñas están hasheadas en la base de datos.
- MariaDB como base de datos.
- Symfony como API de Backend.
- Angular como Frontend.
- Powershell para los scripts de arranque de la aplicación en desarrollo local (Windows 11 pro).
- Docker como infraestructura de despliegue.
- Servicio MariaDB Server 11.4.5 en ejecución.
- PowerShell 7.4.6.
- angular-cli para Angular 17.
- php 8.3.17 y composer
- Symfony Console 7.1.
- Han de estar descomentadas las lineas de 'extension=pdo_mysql' y 'extension=sodium' en php.ini.
- Generar las claves pública y privada con OpenSSL y JWT_PASSPHRASE.
- privada openssl genpkey -algorithm RSA -out config/jwt/private.pem -aes256 -pass pass:'JWT_PASSPHRASE'
- pública openssl pkey -in config/jwt/private.pem -out config/jwt/public.pem -pubout -passin pass:'JWT_PASSPHRASE'
- JWT para api platform
Inicia la aplicación web comprobando el servicio MariaDB, regenerando las migraciones de base de datos necesarias. Lanza los servicios de Symfony y Angular en terminales independientes, actualiza el esquema de la base de datos y muestra información de acceso.
Finaliza la aplicación web. Detiene los procesos de Angular y Symfony, elimina el directorio de migraciones y deja una nota informando que la base de datos MariaDB local permanece en ejecución.
Extrae automáticamente el esquema de la base de datos local (sin datos) utilizando mysqldump y lo guarda en 'data_burst_schema.sql'. Incluye detección automática del ejecutable MySQL/MariaDB, pruebas de conexión y manejo de errores con sugerencias de solución.
Elimina la base de datos 'data_burst' de MariaDB local mediante detección automática del ejecutable mysql.exe. Verifica la existencia de la base de datos antes de eliminarla, utiliza credenciales predeterminadas (root/root) y proporciona retroalimentación sobre el resultado.
Para aplicar cambios en la BD desde el ORM, es necesario finalizar.ps1, eliminar-bd.ps1 e iniciar.ps1 de nuevo.